fork download
  1. from math import exp, log
  2.  
  3. def teste(x):
  4. y1 = (1.0 + x)**32.0
  5. y2 = exp(log(1.0 + x) * 32.0)
  6.  
  7. y_x = (1.0 + x)**32.0 - exp(log(1.0 + x) * 32.0)
  8. y_12 = y1 - y2
  9.  
  10. print("x = %f, f(x) = %f, y1 - y2 = %f" % (x, y_x, y_12))
  11. print("int(x + 1) = %d, int(x + 1)**32 = %d" % (int(x + 1), int(x + 1)**32))
  12. print("y1 = %f, y2 = %f" % (y1, y2))
  13. print()
  14.  
  15. teste(0.0)
  16. teste(1.0)
  17. teste(2.0)
  18. teste(3.0)
Success #stdin #stdout 0.01s 27712KB
stdin
Standard input is empty
stdout
x = 0.000000, f(x) = 0.000000, y1 - y2 = 0.000000
int(x + 1) = 1, int(x + 1)**32 = 1
y1 = 1.000000, y2 = 1.000000

x = 1.000000, f(x) = 0.000003, y1 - y2 = 0.000003
int(x + 1) = 2, int(x + 1)**32 = 4294967296
y1 = 4294967296.000000, y2 = 4294967295.999997

x = 2.000000, f(x) = -5.500000, y1 - y2 = -5.500000
int(x + 1) = 3, int(x + 1)**32 = 1853020188851841
y1 = 1853020188851841.000000, y2 = 1853020188851846.500000

x = 3.000000, f(x) = 26624.000000, y1 - y2 = 26624.000000
int(x + 1) = 4, int(x + 1)**32 = 18446744073709551616
y1 = 18446744073709551616.000000, y2 = 18446744073709524992.000000