I am getting the following unexpected result when I do arithmetic with small numbers in Python:
>>> sys.float_info sys.float_info(max=1.797693134862
You have epsilon=2.220446049250313e-16 so it is normal that (1. - (1.e-17) ) = 1 because 1.e-17 < epsilon.
epsilon=2.220446049250313e-16
(1. - (1.e-17) ) = 1
1.e-17 < epsilon