


Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.0711862690600713e+132 or -2.0742810951057714e-165 < t < -2.083270058225574e-211Initial program 56.6
Taylor expanded around -inf 6.7
Simplified6.7
if -1.0711862690600713e+132 < t < -2.0742810951057714e-165 or -2.083270058225574e-211 < t < 4.388048359801954e+38Initial program 36.2
Taylor expanded around -inf 16.5
Simplified12.4
rmApplied add-cube-cbrt12.4
Applied associate-*l*12.4
rmApplied add-cube-cbrt12.4
Applied associate-*l*12.4
Taylor expanded around -inf 12.4
if 4.388048359801954e+38 < t Initial program 44.6
Taylor expanded around inf 4.5
Simplified4.5
Final simplification9.2
herbie shell --seed 2019002
(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: 45.1s)Debug log
1 calls. Slowest were:
| 316.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: 43.6b
Found 4 expressions with local error:
| 20.9b | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 12.2b | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 0.5b | (* (sqrt 2) t) |
| 0.0b | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
4 calls. Slowest were:
| 29.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 11.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 8.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
4 calls. Slowest were:
| 913.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 257.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 149.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 29.0ms | (* (sqrt 2) t) |
46 calls. Slowest were:
| 522.0ms | (- (+ (* 2 (pow t 2)) (+ (* 2 (* x (pow l 2))) (* 2 (pow l 2))))) |
| 420.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)))))) |
| 373.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.5b
Found 4 expressions with local error:
| 25.1b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 1.0b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 0.5b | (* (sqrt 2) t) |
| 0.2b | (* (/ l x) (* l 2)) |
4 calls. Slowest were:
| 6.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 5.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 3.0ms | (* (/ l x) (* l 2)) |
4 calls. Slowest were:
| 265.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 43.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 35.0ms | (* (sqrt 2) t) |
| 18.0ms | (* (/ l x) (* l 2)) |
33 calls. Slowest were:
| 569.0ms | (* (* (* (/ l x) (/ l x)) (/ l x)) (* (* (* l 2) (* l 2)) (* l 2))) |
| 492.0ms | (sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))) |
| 446.0ms | (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 2.8b
Found 4 expressions with local error:
| 25.1b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 1.0b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 0.3b | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t)) |
| 0.2b | (* (cbrt (sqrt 2)) t) |
4 calls. Slowest were:
| 23.0ms | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t)) |
| 7.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 5.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
4 calls. Slowest were:
| 433.0ms | (* (cbrt (sqrt 2)) t) |
| 295.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 62.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 38.0ms | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t)) |
37 calls. Slowest were:
| 511.0ms | (sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))) |
| 498.0ms | (* (* (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (* (* (cbrt (sqrt 2)) t) (* (cbrt (sqrt 2)) t)) (* (cbrt (sqrt 2)) t))) |
| 378.0ms | (* x (+ (* 2 2) (- (* (/ 4 x) (/ 4 x)) (* 2 (/ 4 x))))) |
10 alts after pruning (9 fresh and 1 done)
Merged error: 2.8b
Found 4 expressions with local error:
| 25.1b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 1.0b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 0.4b | (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t)) |
| 0.3b | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t))) |
4 calls. Slowest were:
| 55.0ms | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t))) |
| 19.0ms | (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t)) |
| 6.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
4 calls. Slowest were:
| 401.0ms | (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t)) |
| 272.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 56.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 30.0ms | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t))) |
52 calls. Slowest were:
| 875.0ms | (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))) |
| 734.0ms | (* (* (sqrt 2) (sqrt 2)) (* (* (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t)) (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t))) (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) t)))) |
| 522.0ms | (* x (+ (* 2 2) (- (* (/ 4 x) (/ 4 x)) (* 2 (/ 4 x))))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 2.8b
74.9% (6.1b remaining)
Error of 9.2b against oracle of 3.1b and baseline of 27.4b