


Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -5.07394485735048e+81 or -3.563799924669161e-160 < t < -1.8401747941686373e-280Initial program 51.1
Taylor expanded around -inf 11.9
Simplified11.9
if -5.07394485735048e+81 < t < -3.563799924669161e-160Initial program 26.0
Taylor expanded around inf 9.1
Simplified4.1
rmApplied add-sqr-sqrt4.2
Applied associate-*l*4.1
rmApplied add-cube-cbrt4.1
Applied sqrt-prod4.3
Applied associate-*l*4.1
Simplified4.1
if -1.8401747941686373e-280 < t < 2.590623709549756e+63Initial program 40.6
Taylor expanded around inf 19.0
Simplified14.7
rmApplied add-sqr-sqrt14.8
Applied associate-*l*14.8
rmApplied associate-*r*14.8
if 2.590623709549756e+63 < t Initial program 44.9
Taylor expanded around inf 4.0
Simplified4.0
Final simplification9.3
herbie shell --seed 2019007
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))
Time bar (total: 40.0s)Debug log
1 calls. Slowest were:
| 315.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 44.7b
Found 4 expressions with local error:
| 22.3b | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 10.5b | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 0.4b | (* (sqrt 2) t) |
| 0.0b | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
4 calls. Slowest were:
| 36.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 30.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 17.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
4 calls. Slowest were:
| 921.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 276.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 121.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 23.0ms | (* (sqrt 2) t) |
46 calls. Slowest were:
| 456.0ms | (- (+ (* 2 (pow t 2)) (+ (* 2 (* x (pow l 2))) (* 2 (pow l 2))))) |
| 378.0ms | (- (* (sqrt -2) t) (+ (* 2 (/ (* t x) (sqrt -2))) (+ (* 2 (/ (* t (pow x 2)) (sqrt -2))) (* 2 (/ (* t (pow x 2)) (pow (sqrt -2) 3)))))) |
| 341.0ms | (- (log (* (sqrt 2) t)) (log (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 3.8b
Found 4 expressions with local error:
| 30.5b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 0.4b | (* (sqrt 2) t) |
| 0.2b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 0.1b | (* (/ l x) (* l 2)) |
4 calls. Slowest were:
| 14.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 11.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 7.0ms | (* (/ l x) (* l 2)) |
4 calls. Slowest were:
| 256.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 38.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 23.0ms | (* (sqrt 2) t) |
| 13.0ms | (* (/ l x) (* l 2)) |
33 calls. Slowest were:
| 838.0ms | (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))) |
| 581.0ms | (* (* (* (/ l x) (/ l x)) (/ l x)) (* (* (* l 2) (* l 2)) (* l 2))) |
| 388.0ms | (sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 2.9b
Found 4 expressions with local error:
| 30.5b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 0.3b | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
| 0.2b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 0.2b | (* (sqrt (sqrt 2)) t) |
4 calls. Slowest were:
| 12.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 9.0ms | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
| 7.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
4 calls. Slowest were:
| 263.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 67.0ms | (* (sqrt (sqrt 2)) t) |
| 44.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 39.0ms | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
38 calls. Slowest were:
| 397.0ms | (* x (+ (* 2 2) (- (* (/ 4 x) (/ 4 x)) (* 2 (/ 4 x))))) |
| 395.0ms | (sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))) |
| 377.0ms | (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 2.9b
Found 4 expressions with local error:
| 30.5b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 0.3b | (* (fabs (cbrt (sqrt 2))) (* (sqrt (cbrt (sqrt 2))) (* (sqrt (sqrt 2)) t))) |
| 0.3b | (* (sqrt (cbrt (sqrt 2))) (* (sqrt (sqrt 2)) t)) |
| 0.2b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
4 calls. Slowest were:
| 38.0ms | (* (fabs (cbrt (sqrt 2))) (* (sqrt (cbrt (sqrt 2))) (* (sqrt (sqrt 2)) t))) |
| 18.0ms | (* (sqrt (cbrt (sqrt 2))) (* (sqrt (sqrt 2)) t)) |
| 12.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
4 calls. Slowest were:
| 622.0ms | (* (fabs (cbrt (sqrt 2))) (* (sqrt (cbrt (sqrt 2))) (* (sqrt (sqrt 2)) t))) |
| 556.0ms | (* (sqrt (cbrt (sqrt 2))) (* (sqrt (sqrt 2)) t)) |
| 291.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 58.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
45 calls. Slowest were:
| 429.0ms | (sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))) |
| 406.0ms | (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))) |
| 372.0ms | (* x (+ (* 2 2) (- (* (/ 4 x) (/ 4 x)) (* 2 (/ 4 x))))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 2.9b
73.9% (6.2b remaining)
Error of 9.3b against oracle of 3.1b and baseline of 26.9b