


Bits error versus x



Bits error versus l



Bits error versus t
if t < -1.9568249621367978e+132Initial program 56.5
Simplified56.5
Taylor expanded around -inf 2.6
if -1.9568249621367978e+132 < t < 1.8892369168961338e-296Initial program 35.9
Simplified35.9
Taylor expanded around inf 17.5
Simplified13.6
Taylor expanded around 0 13.6
rmApplied add-sqr-sqrt13.7
Applied associate-*r*13.6
rmApplied associate-*l*13.7
if 1.8892369168961338e-296 < t < 2.0119524268798696e-152 or 5.929057727108339e+103 < t Initial program 53.8
Simplified53.8
Taylor expanded around inf 13.9
Simplified13.9
if 2.0119524268798696e-152 < t < 5.929057727108339e+103Initial program 25.2
Simplified25.2
Taylor expanded around inf 10.4
Simplified5.3
Taylor expanded around 0 5.3
Final simplification10.2
herbie shell --seed 2019004 +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.0s)Debug log
1 calls. Slowest were:
| 419.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 (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 11.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:
| 5.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 2.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 1.0ms | (* t (sqrt 2)) |
4 calls. Slowest were:
| 323.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 180.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 73.0ms | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 28.0ms | (* t (sqrt 2)) |
39 calls. Slowest were:
| 873.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 587.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)))))) |
| 579.0ms | (/ (sqrt 2) (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: 2.9b
Found 4 expressions with local error:
| 28.6b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 5.8b | (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 | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 1.0ms | (* t (sqrt 2)) |
4 calls. Slowest were:
| 293.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 52.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 28.0ms | (* t (sqrt 2)) |
| 20.0ms | (* (* t 4) (/ t x)) |
26 calls. Slowest were:
| 451.0ms | (* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x))) |
| 124.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 113.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 2.8b
Found 4 expressions with local error:
| 28.6b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 5.8b | (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:
| 250.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 42.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 26.0ms | (* t (sqrt 2)) |
| 13.0ms | (* (* t 4) (/ t x)) |
26 calls. Slowest were:
| 470.0ms | (* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x))) |
| 123.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)))))) |
| 106.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 2.8b
Found 4 expressions with local error:
| 28.6b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 5.8b | (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:
| 12.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 3.0ms | (* t (sqrt (sqrt 2))) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
4 calls. Slowest were:
| 261.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))) |
| 55.0ms | (* t (sqrt (sqrt 2))) |
| 38.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
31 calls. Slowest were:
| 426.0ms | (* (* (* (* t (sqrt (sqrt 2))) (* t (sqrt (sqrt 2)))) (* t (sqrt (sqrt 2)))) (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2)))) |
| 158.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)))))) |
| 153.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 2.8b
74% (6.1b remaining)
Error of 10.2b against oracle of 4.1b and baseline of 27.6b