


Bits error versus x
if x < -15731.583965646452 or 9865.742309267576 < x Initial program 59.2
Taylor expanded around -inf 0.3
Simplified0.0
if -15731.583965646452 < x < 9865.742309267576Initial program 0.1
rmApplied add-cbrt-cube0.1
Final simplification0.1
herbie shell --seed 2019004 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))
Time bar (total: 1.0m)Debug log
1 calls. Slowest were:
| 27.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 32.6b
Found 3 expressions with local error:
| 3.9b | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 0.0b | (/ (+ x 1) (- x 1)) |
| 0.0b | (/ x (+ x 1)) |
3 calls. Slowest were:
| 19.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 4.0ms | (/ (+ x 1) (- x 1)) |
| 0.0ms | (/ x (+ x 1)) |
3 calls. Slowest were:
| 30.0ms | (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) |
| 10.0ms | (/ (+ x 1) (- x 1)) |
| 10.0ms | (/ x (+ x 1)) |
235 calls. Slowest were:
| 1.0s | (fma (sqrt (/ x (+ x 1))) (sqrt (/ x (+ x 1))) (- (* (+ x 1) (/ (+ x 1) (- (* x x) (* 1 1)))))) |
| 782.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (sqrt (/ (+ x 1) (- x 1))) (sqrt (/ (+ x 1) (- x 1)))))) |
| 761.0ms | (fma (/ x (- (* x x) (* 1 1))) (- x 1) (- (* (cbrt (/ (+ x 1) (- x 1))) (* (cbrt (/ (+ x 1) (- x 1))) (cbrt (/ (+ x 1) (- x 1))))))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 6.4b | (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x))) |
| 0.5b | (/ -1 (* x x)) |
| 0.5b | (/ -1 (* x x)) |
| 0.0b | (- (/ -1 (* x x)) (/ 3 x)) |
4 calls. Slowest were:
| 11.0ms | (- (/ -1 (* x x)) (/ 3 x)) |
| 1.0ms | (/ -1 (* x x)) |
| 1.0ms | (/ -1 (* x x)) |
4 calls. Slowest were:
| 24.0ms | (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x))) |
| 22.0ms | (- (/ -1 (* x x)) (/ 3 x)) |
| 20.0ms | (/ -1 (* x x)) |
| 18.0ms | (/ -1 (* x x)) |
52 calls. Slowest were:
| 595.0ms | (- (+ (* 3 (/ 1 (pow x 3))) (+ (/ 1 (pow x 2)) (* 3 (/ 1 x))))) |
| 502.0ms | (- (+ (* 3 (/ 1 (pow x 3))) (+ (/ 1 (pow x 2)) (* 3 (/ 1 x))))) |
| 501.0ms | (- (+ (* 3 (/ 1 (pow x 3))) (+ (/ 1 (pow x 2)) (* 3 (/ 1 x))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 18.6b | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 18.6b | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 18.6b | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 6.4b | (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x))) |
4 calls. Slowest were:
| 1.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 1.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 1.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
4 calls. Slowest were:
| 77.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 70.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 59.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 23.0ms | (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x))) |
21 calls. Slowest were:
| 607.0ms | (- (+ (* 3 (/ 1 (pow x 3))) (+ (/ 1 (pow x 2)) (* 3 (/ 1 x))))) |
| 503.0ms | (- (+ (* 3 (/ 1 (pow x 3))) (+ (/ 1 (pow x 2)) (* 3 (/ 1 x))))) |
| 502.0ms | (- (+ (* 3 (/ 1 (pow x 3))) (+ (/ 1 (pow x 2)) (* 3 (/ 1 x))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 18.6b | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 18.6b | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 18.6b | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 18.6b | (cbrt (fma (/ -1 (* x x)) (+ 1 (/ 3 x)) (/ -3 x))) |
4 calls. Slowest were:
| 1.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 1.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 1.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
4 calls. Slowest were:
| 77.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 72.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 58.0ms | (cbrt (fma (/ -1 (* x x)) (/ 3 x) (- (/ -1 (* x x)) (/ 3 x)))) |
| 55.0ms | (cbrt (fma (/ -1 (* x x)) (+ 1 (/ 3 x)) (/ -3 x))) |
24 calls. Slowest were:
| 350.0ms | (cbrt (sqrt (fma (/ -1 (* x x)) (+ 1 (/ 3 x)) (/ -3 x)))) |
| 284.0ms | (cbrt (* (cbrt (fma (/ -1 (* x x)) (+ 1 (/ 3 x)) (/ -3 x))) (cbrt (fma (/ -1 (* x x)) (+ 1 (/ 3 x)) (/ -3 x))))) |
| 270.0ms | (+ (* 1/9 (* x (exp (* 1/3 (- (log -3) (* 3 (log x))))))) (+ (* 26/81 (* (pow x 2) (exp (* 1/3 (- (log -3) (* 3 (log x))))))) (exp (* 1/3 (- (log -3) (* 3 (log x))))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0b
99.9% (0.0b remaining)
Error of 0.1b against oracle of 0.0b and baseline of 31.4b