


Bits error versus x



Bits error versus l



Bits error versus t
if t < -2.2874138410422343e+108 or -8.041252291456426e-183 < t < -2.492446204657259e-241Initial program 54.0
Simplified54.0
Taylor expanded around -inf 7.8
if -2.2874138410422343e+108 < t < -8.041252291456426e-183Initial program 28.6
Simplified28.5
Taylor expanded around -inf 11.6
Simplified6.4
rmApplied add-sqr-sqrt6.5
Applied associate-*r*6.4
if -2.492446204657259e-241 < t < 1.0624348547098087e+57Initial program 42.9
Simplified42.9
Taylor expanded around -inf 20.0
Simplified16.5
rmApplied add-cube-cbrt16.5
Applied associate-*r*16.5
if 1.0624348547098087e+57 < t Initial program 44.1
Simplified44.1
Taylor expanded around inf 3.4
Simplified3.4
Final simplification8.9
herbie shell --seed 2019005 +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.8s)Debug log
1 calls. Slowest were:
| 932.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: 39.8b
Found 4 expressions with local error:
| 16.7b | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 11.7b | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 0.4b | (* t (sqrt 2)) |
| 0.1b | (/ (* 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:
| 340.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 158.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 80.0ms | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 37.0ms | (* t (sqrt 2)) |
39 calls. Slowest were:
| 633.0ms | (sqrt (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 600.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)))))) |
| 591.0ms | (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: 4.2b
Found 4 expressions with local error:
| 23.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 2.6b | (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:
| 243.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 67.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 39.0ms | (* t (sqrt 2)) |
| 20.0ms | (* (* t 4) (/ t x)) |
26 calls. Slowest were:
| 463.0ms | (* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x))) |
| 140.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
| 137.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: 4.1b
Found 4 expressions with local error:
| 23.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 2.6b | (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:
| 13.0ms | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2))) |
| 3.0ms | (* (* t 4) (/ t x)) |
| 1.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 242.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 62.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 32.0ms | (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2))) |
| 12.0ms | (* (* t 4) (/ t x)) |
32 calls. Slowest were:
| 572.0ms | (* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x))) |
| 207.0ms | (* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (sqrt 2)) |
| 149.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
10 alts after pruning (9 fresh and 1 done)
Merged error: 4.1b
Found 4 expressions with local error:
| 23.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 2.6b | (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:
| 13.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 4.0ms | (* t (sqrt (sqrt 2))) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 256.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 58.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 50.0ms | (* t (sqrt (sqrt 2))) |
| 29.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
31 calls. Slowest were:
| 364.0ms | (* (* (* (* t (sqrt (sqrt 2))) (* t (sqrt (sqrt 2)))) (* t (sqrt (sqrt 2)))) (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2)))) |
| 122.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 116.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))) |
10 alts after pruning (8 fresh and 2 done)
Merged error: 4.1b
77.8% (5.3b remaining)
Error of 8.9b against oracle of 3.6b and baseline of 27.5b