


Bits error versus x
if x < -11810.647953296477 or 9392.348407456098 < x Initial program 59.4
rmApplied add-log-exp59.4
Taylor expanded around inf 0.3
Simplified0.0
if -11810.647953296477 < x < 9392.348407456098Initial program 0.1
rmApplied add-log-exp0.1
rmApplied log1p-expm1-u0.1
Final simplification0.1
herbie shell --seed 2019008 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))
Time bar (total: 3.5m)Debug log
1 calls. Slowest were:
| 26.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 27.8b
Found 3 expressions with local error:
| 1.3b | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 0.0b | (/ (+ x 1) (- x 1)) |
| 0.0b | (/ x (+ x 1)) |
3 calls. Slowest were:
| 15.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 6.0ms | (/ (+ x 1) (- x 1)) |
| 1.0ms | (/ x (+ x 1)) |
3 calls. Slowest were:
| 47.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 15.0ms | (/ x (+ x 1)) |
| 10.0ms | (/ (+ x 1) (- x 1)) |
235 calls. Slowest were:
| 894.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (/ 1 (- x 1)) (+ x 1)))) |
| 867.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (sqrt (/ (+ x 1) (- x 1))) (sqrt (/ (+ x 1) (- x 1)))))) |
| 789.0ms | (fma 1 (/ x (+ x 1)) (- (* (+ x 1) (/ (+ x 1) (- (* x x) (* 1 1)))))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 1.3b | (log (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))) |
| 1.3b | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 0.0b | (/ (+ x 1) (- x 1)) |
| 0.0b | (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1)))) |
4 calls. Slowest were:
| 31.0ms | (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1)))) |
| 18.0ms | (log (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))) |
| 7.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
4 calls. Slowest were:
| 44.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 44.0ms | (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1)))) |
| 32.0ms | (log (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))) |
| 10.0ms | (/ (+ x 1) (- x 1)) |
437 calls. Slowest were:
| 985.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (/ 1 (- x 1)) (+ x 1)))) |
| 850.0ms | (fma x (/ 1 (+ x 1)) (- (* (+ x 1) (/ (+ x 1) (- (* x x) (* 1 1)))))) |
| 800.0ms | (fma (sqrt (/ x (+ x 1))) (sqrt (/ x (+ x 1))) (- (* (+ x 1) (/ (+ x 1) (- (* x x) (* 1 1)))))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 1.3b | (log (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))) |
| 1.3b | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 0.5b | (expm1 (log (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1)))))) |
| 0.0b | (/ (+ x 1) (- x 1)) |
4 calls. Slowest were:
| 21.0ms | (log (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))) |
| 15.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 6.0ms | (/ (+ x 1) (- x 1)) |
4 calls. Slowest were:
| 70.0ms | (expm1 (log (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1)))))) |
| 50.0ms | (log (exp (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))) |
| 49.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 17.0ms | (/ (+ x 1) (- x 1)) |
337 calls. Slowest were:
| 941.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (/ 1 (- x 1)) (+ x 1)))) |
| 786.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (cbrt (/ (+ x 1) (- x 1))) (* (cbrt (/ (+ x 1) (- x 1))) (cbrt (/ (+ x 1) (- x 1))))))) |
| 772.0ms | (log (exp (fma 1 (/ x (+ x 1)) (- (* (/ (+ x 1) (sqrt (- x 1))) (/ 1 (sqrt (- x 1)))))))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 0.0b | (fma (+ x 3) x 1) |
1 calls. Slowest were:
| 0.0ms | (fma (+ x 3) x 1) |
1 calls. Slowest were:
| 9.0ms | (fma (+ x 3) x 1) |
3 calls. Slowest were:
| 36.0ms | (+ (* 3 x) (+ (pow x 2) 1)) |
| 23.0ms | (+ (* 3 x) (+ (pow x 2) 1)) |
| 16.0ms | (+ (* 3 x) (+ (pow x 2) 1)) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.0b
100% (0.0b remaining)
Error of 0.1b against oracle of 0.1b and baseline of 29.6b