# Independently authored numeric constructors; output avoids pending float format.
print(float() == 0.0, float(False) == 0.0, float(True) == 1.0)
print(float(1.25) == 1.25, float(-0.0) == 0.0)
print(float(9007199254740993) == 9007199254740992.0)
print(float(9007199254740995) == 9007199254740996.0)
convert = float
def make(offset):
    return lambda value: convert(value + offset)
print(make(10)(7) == 17.0)
print(convert(*(9,), **{}) == 9.0, isinstance(convert(9), float))
for value in (10**400, -10**400):
    try:
        convert(value)
    except OverflowError as error:
        print(type(error).__name__, str(error))
try:
    convert(None)
except TypeError as error:
    print(type(error).__name__, str(error))
