


Bits error versus x



Bits error versus l



Bits error versus t
if t < -1.2128111436161243e+114Initial program 52.8
Initial simplification52.8
Taylor expanded around -inf 2.6
if -1.2128111436161243e+114 < t < 1.9387688460025505e-287 or 1.400368300731661e-160 < t < 2.3877704099088408e+30Initial program 34.9
Initial simplification34.9
Taylor expanded around -inf 14.4
Simplified10.1
rmApplied add-cube-cbrt10.1
Applied associate-*r*10.1
if 1.9387688460025505e-287 < t < 1.400368300731661e-160 or 2.3877704099088408e+30 < t Initial program 47.8
Initial simplification47.8
Taylor expanded around inf 12.5
Simplified12.5
Final simplification9.5
herbie shell --seed 2018360 +o rules:numerics
(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: 28.9s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 44.4b
Found 4 expressions with local error:
| 19.7b | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 14.5b | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 0.5b | (* t (sqrt 2)) |
| 0.0b | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
4 calls. Slowest were:
| 4.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 3.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 1.0ms | (* t (sqrt 2)) |
4 calls. Slowest were:
| 312.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 160.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 97.0ms | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 28.0ms | (* t (sqrt 2)) |
39 calls. Slowest were:
| 675.0ms | (/ (* (* (* t (sqrt 2)) (* t (sqrt 2))) (* t (sqrt 2))) (* (* (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))) |
| 446.0ms | (sqrt (* (cbrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) (cbrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))) |
| 444.0ms | (sqrt (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 5.2b
Found 4 expressions with local error:
| 28.1b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 2.4b | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 0.5b | (* t (sqrt 2)) |
| 0.1b | (* (* t 4) (/ t x)) |
4 calls. Slowest were:
| 6.0ms | (* (* t 4) (/ t x)) |
| 2.0ms | (* t (sqrt 2)) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 235.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 43.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 37.0ms | (* t (sqrt 2)) |
| 20.0ms | (* (* t 4) (/ t x)) |
26 calls. Slowest were:
| 532.0ms | (* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x))) |
| 149.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))) |
| 143.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 5.2b
Found 4 expressions with local error:
| 28.1b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 2.4b | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 0.3b | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2))) |
| 0.1b | (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) |
4 calls. Slowest were:
| 23.0ms | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2))) |
| 15.0ms | (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) |
| 1.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 595.0ms | (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) |
| 268.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 68.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 41.0ms | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2))) |
26 calls. Slowest were:
| 178.0ms | (* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (sqrt 2)) |
| 126.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))) |
| 117.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 5.2b
Found 4 expressions with local error:
| 28.1b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 2.4b | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 0.4b | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) |
| 0.2b | (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (cbrt (cbrt (sqrt 2)))) |
4 calls. Slowest were:
| 91.0ms | (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (cbrt (cbrt (sqrt 2)))) |
| 46.0ms | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 683.0ms | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) |
| 238.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 46.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 42.0ms | (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (cbrt (cbrt (sqrt 2)))) |
42 calls. Slowest were:
| 645.0ms | (* (* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))))) (cbrt (sqrt 2))) |
| 480.0ms | (* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))))) |
| 405.0ms | (* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) |
10 alts after pruning (9 fresh and 1 done)
Merged error: 5.2b
75.5% (5.7b remaining)
Error of 9.5b against oracle of 3.8b and baseline of 27.0b