


Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -2.4337289230695807e+132Initial program 56.5
Taylor expanded around -inf 2.4
Simplified2.4
if -2.4337289230695807e+132 < t < 1.8892369168961338e-296Initial program 35.9
Taylor expanded around inf 17.5
Simplified13.6
Taylor expanded around -inf 13.6
rmApplied add-sqr-sqrt13.7
Applied associate-*r*13.6
if 1.8892369168961338e-296 < t < 2.0119524268798696e-152 or 5.929057727108339e+103 < t Initial program 53.8
Taylor expanded around inf 13.8
Simplified13.8
if 2.0119524268798696e-152 < t < 5.929057727108339e+103Initial program 25.2
Taylor expanded around inf 10.4
Simplified5.3
Taylor expanded around -inf 5.3
Final simplification10.1
herbie shell --seed 2019004
(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: 36.6s)Debug log
1 calls. Slowest were:
| 232.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.4b
Found 4 expressions with local error:
| 23.8b | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 11.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:
| 29.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 21.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 15.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
4 calls. Slowest were:
| 909.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)))) |
| 136.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 29.0ms | (* (sqrt 2) t) |
46 calls. Slowest were:
| 419.0ms | (- (+ (* 2 (pow t 2)) (+ (* 2 (* x (pow l 2))) (* 2 (pow l 2))))) |
| 318.0ms | (- (+ (* 2 (/ t (* (sqrt 2) (pow x 2)))) (+ (* t (sqrt 2)) (* 2 (/ t (* (sqrt 2) x))))) (* 2 (/ t (* (pow (sqrt 2) 3) (pow x 2))))) |
| 310.0ms | (/ (sqrt 2) (sqrt (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 2.6b
Found 4 expressions with local error:
| 28.6b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 0.6b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 0.4b | (* (sqrt 2) t) |
| 0.1b | (* (/ l x) (* l 2)) |
4 calls. Slowest were:
| 7.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 6.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 3.0ms | (* (/ l x) (* l 2)) |
4 calls. Slowest were:
| 276.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 46.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 29.0ms | (* (sqrt 2) t) |
| 12.0ms | (* (/ l x) (* l 2)) |
33 calls. Slowest were:
| 540.0ms | (* (* (* (/ l x) (/ l x)) (/ l x)) (* (* (* l 2) (* l 2)) (* l 2))) |
| 435.0ms | (sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))) |
| 387.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.3b
Found 4 expressions with local error:
| 28.6b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 0.6b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 0.4b | (* t (sqrt 2)) |
| 0.1b | (* (/ 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:
| 198.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 42.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 22.0ms | (* t (sqrt 2)) |
| 12.0ms | (* (/ l x) (* l 2)) |
34 calls. Slowest were:
| 599.0ms | (* (exp (* (/ l x) (* l 2))) (exp (* (+ 2 (/ 4 x)) (* t t)))) |
| 519.0ms | (* (* (* (/ l x) (/ l x)) (/ l x)) (* (* (* l 2) (* l 2)) (* l 2))) |
| 402.0ms | (sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 2.3b
Found 4 expressions with local error:
| 28.6b | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 0.6b | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 0.3b | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 0.2b | (* t (sqrt (sqrt 2))) |
4 calls. Slowest were:
| 6.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 6.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 5.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
4 calls. Slowest were:
| 239.0ms | (sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))) |
| 64.0ms | (* t (sqrt (sqrt 2))) |
| 50.0ms | (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))) |
| 40.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
40 calls. Slowest were:
| 455.0ms | (* (* (* (* t (sqrt (sqrt 2))) (* t (sqrt (sqrt 2)))) (* t (sqrt (sqrt 2)))) (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2)))) |
| 415.0ms | (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))) |
| 410.0ms | (sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))) |
9 alts after pruning (7 fresh and 2 done)
Merged error: 2.3b
71.7% (6.9b remaining)
Error of 10.1b against oracle of 3.2b and baseline of 27.5b