


Bits error versus x
if x < -11461.495204336437 or 10887.392763278185 < x Initial program 59.3
rmApplied flip--59.3
Taylor expanded around inf 0.3
Simplified0.0
if -11461.495204336437 < x < 10887.392763278185Initial program 0.1
rmApplied flip--0.1
rmApplied add-cbrt-cube0.1
Final simplification0.1
herbie shell --seed 2019005 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))
Time bar (total: 4.8m)Debug log
1 calls. Slowest were:
| 29.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 29.0b
Found 3 expressions with local error:
| 2.6b | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 0.0b | (/ x (+ x 1)) |
| 0.0b | (/ (+ x 1) (- x 1)) |
3 calls. Slowest were:
| 13.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 6.0ms | (/ (+ x 1) (- x 1)) |
| 1.0ms | (/ x (+ x 1)) |
3 calls. Slowest were:
| 58.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 10.0ms | (/ (+ x 1) (- x 1)) |
| 9.0ms | (/ x (+ x 1)) |
235 calls. Slowest were:
| 898.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (/ 1 (- x 1)) (+ x 1)))) |
| 808.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (cbrt (/ (+ x 1) (- x 1))) (* (cbrt (/ (+ x 1) (- x 1))) (cbrt (/ (+ x 1) (- x 1))))))) |
| 777.0ms | (fma x (/ 1 (+ x 1)) (- (* (+ x 1) (/ (+ x 1) (- (* x x) (* 1 1)))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 2.6b | (- (* (/ x (+ x 1)) (/ x (+ x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) |
| 0.0b | (* (/ x (+ x 1)) (/ x (+ x 1))) |
| 0.0b | (/ (- (* (/ x (+ x 1)) (/ x (+ x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (+ (/ x (+ x 1)) (/ (+ x 1) (- x 1)))) |
| 0.0b | (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) |
4 calls. Slowest were:
| 27.0ms | (/ (- (* (/ x (+ x 1)) (/ x (+ x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (+ (/ x (+ x 1)) (/ (+ x 1) (- x 1)))) |
| 13.0ms | (- (* (/ x (+ x 1)) (/ x (+ x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) |
| 11.0ms | (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) |
4 calls. Slowest were:
| 92.0ms | (/ (- (* (/ x (+ x 1)) (/ x (+ x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (+ (/ x (+ x 1)) (/ (+ x 1) (- x 1)))) |
| 55.0ms | (- (* (/ x (+ x 1)) (/ x (+ x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) |
| 20.0ms | (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) |
| 18.0ms | (* (/ x (+ x 1)) (/ x (+ x 1))) |
157 calls. Slowest were:
| 1.2s | (* (* (+ x 1) (+ x 1)) (- x 1)) |
| 896.0ms | (- (* (* x x) (- x 1)) (* (* (+ x 1) (+ x 1)) (* (+ x 1) (/ (+ x 1) (- x 1))))) |
| 863.0ms | (* (* (* (/ x (+ x 1)) (/ x (+ x 1))) (/ x (+ x 1))) (* (* (/ x (+ x 1)) (/ x (+ x 1))) (/ x (+ x 1)))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 2.6b | (- (* (/ x (+ x 1)) (/ x (+ x 1))) (cbrt (* (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))))) |
| 0.0b | (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) |
| 0.0b | (cbrt (* (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))))) |
| 0.0b | (* (/ x (+ x 1)) (/ x (+ x 1))) |
4 calls. Slowest were:
| 116.0ms | (cbrt (* (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))))) |
| 46.0ms | (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) |
| 25.0ms | (- (* (/ x (+ x 1)) (/ x (+ x 1))) (cbrt (* (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))))) |
4 calls. Slowest were:
| 49.0ms | (- (* (/ x (+ x 1)) (/ x (+ x 1))) (cbrt (* (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))))) |
| 16.0ms | (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) |
| 14.0ms | (cbrt (* (* (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1)))) (* (/ (+ x 1) (- x 1)) (/ (+ x 1) (- x 1))))) |
| 11.0ms | (* (/ x (+ x 1)) (/ x (+ x 1))) |
604 calls. Slowest were:
| 1.9s | (cbrt (* (* (* (+ x 1) (+ x 1)) (* (+ x 1) (/ (+ x 1) (- x 1)))) (* (+ x 1) (+ x 1)))) |
| 1.5s | (* (* (+ x 1) (+ x 1)) (cbrt (* (* (- x 1) (- x 1)) (- x 1)))) |
| 1.2s | (* (* (+ x 1) (+ x 1)) (cbrt (* (- x 1) (* (- x 1) (- x 1))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 2.6b | (- (pow (/ x (+ 1 x)) 4) (pow (/ (+ 1 x) (+ x -1)) 4)) |
| 0.0b | (pow (/ (+ 1 x) (+ x -1)) 4) |
| 0.0b | (pow (/ x (+ 1 x)) 4) |
| 0.0b | (* (/ x (+ x 1)) (/ x (+ x 1))) |
4 calls. Slowest were:
| 38.0ms | (- (pow (/ x (+ 1 x)) 4) (pow (/ (+ 1 x) (+ x -1)) 4)) |
| 7.0ms | (* (/ x (+ x 1)) (/ x (+ x 1))) |
| 5.0ms | (pow (/ (+ 1 x) (+ x -1)) 4) |
4 calls. Slowest were:
| 116.0ms | (- (pow (/ x (+ 1 x)) 4) (pow (/ (+ 1 x) (+ x -1)) 4)) |
| 20.0ms | (pow (/ (+ 1 x) (+ x -1)) 4) |
| 12.0ms | (pow (/ x (+ 1 x)) 4) |
| 11.0ms | (* (/ x (+ x 1)) (/ x (+ x 1))) |
406 calls. Slowest were:
| 951.0ms | (* (* (* (/ x (+ x 1)) (/ x (+ x 1))) (/ x (+ x 1))) (* (* (/ x (+ x 1)) (/ x (+ x 1))) (/ x (+ x 1)))) |
| 447.0ms | (fma (pow (/ x (+ (pow 1 3) (pow x 3))) 4) (pow (+ (* 1 1) (- (* x x) (* 1 x))) 4) (- (* (pow (- x -1) 4) (pow (/ (+ 1 x) (- (* x x) (* -1 -1))) 4)))) |
| 412.0ms | (- (+ (* 108 (/ 1 (pow x 3))) (+ (* 22 (/ 1 (pow x 2))) (* 12 (/ 1 x))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.0b
99.9% (0.0b remaining)
Error of 0.1b against oracle of 0.0b and baseline of 29.4b