


Bits error versus x



Bits error versus l



Bits error versus t
if t < -5.07394485735048e+81 or -3.563799924669161e-160 < t < -1.8401747941686373e-280Initial program 51.1
Simplified51.1
Taylor expanded around -inf 12.0
if -5.07394485735048e+81 < t < -3.563799924669161e-160Initial program 26.0
Simplified26.0
Taylor expanded around -inf 9.1
Simplified4.1
rmApplied add-cube-cbrt4.1
Applied associate-*r*4.0
if -1.8401747941686373e-280 < t < 8.159553290541015e+39Initial program 42.0
Simplified42.0
Taylor expanded around -inf 19.4
Simplified15.4
rmApplied add-sqr-sqrt15.5
Applied associate-*r*15.4
if 8.159553290541015e+39 < t Initial program 43.2
Simplified43.2
Taylor expanded around inf 4.9
Simplified4.9
Final simplification9.5
herbie shell --seed 2019007 +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: 35.7s)Debug log
1 calls. Slowest were:
| 719.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 (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 10.5b | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 0.4b | (* 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:
| 9.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 6.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 2.0ms | (* t (sqrt 2)) |
4 calls. Slowest were:
| 332.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 247.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 123.0ms | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 31.0ms | (* t (sqrt 2)) |
39 calls. Slowest were:
| 602.0ms | (- (log (* t (sqrt 2))) (log (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))) |
| 593.0ms | (cbrt (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 582.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 3.8b
Found 4 expressions with local error:
| 30.5b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 4.4b | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 0.4b | (* t (sqrt 2)) |
| 0.1b | (* (* t 4) (/ t x)) |
4 calls. Slowest were:
| 3.0ms | (* (* t 4) (/ t x)) |
| 1.0ms | (* t (sqrt 2)) |
| 1.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 240.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 50.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 25.0ms | (* t (sqrt 2)) |
| 12.0ms | (* (* t 4) (/ t x)) |
26 calls. Slowest were:
| 523.0ms | (* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x))) |
| 135.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
| 118.0ms | (sqrt (* (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 3.8b
Found 4 expressions with local error:
| 30.5b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 4.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 4) (/ t x)) |
4 calls. Slowest were:
| 21.0ms | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2))) |
| 7.0ms | (* (* t 4) (/ t x)) |
| 1.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 215.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 64.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 25.0ms | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2))) |
| 19.0ms | (* (* t 4) (/ t x)) |
32 calls. Slowest were:
| 436.0ms | (* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x))) |
| 195.0ms | (* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (sqrt 2)) |
| 117.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 3.8b
Found 4 expressions with local error:
| 30.5b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 4.4b | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 0.3b | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 0.2b | (* t (sqrt (sqrt 2))) |
4 calls. Slowest were:
| 7.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 2.0ms | (* t (sqrt (sqrt 2))) |
| 1.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 279.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 40.0ms | (* t (sqrt (sqrt 2))) |
| 38.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 27.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
31 calls. Slowest were:
| 372.0ms | (* (* (* (* t (sqrt (sqrt 2))) (* t (sqrt (sqrt 2)))) (* t (sqrt (sqrt 2)))) (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2)))) |
| 113.0ms | (sqrt (* (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))))) |
| 94.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))) |
9 alts after pruning (7 fresh and 2 done)
Merged error: 3.8b
75.5% (5.7b remaining)
Error of 9.5b against oracle of 3.9b and baseline of 27.0b