fails:Math.log raises an Errno::EDOM if the argument is less than 0
fails:Math.log raises a TypeError if the argument cannot be coerced with Float()
fails:Math.log raises a TypeError if the argument is nil
fails:Math.log accepts any argument that can be coerced with Float()
