


Bits error versus x



Bits error versus l



Bits error versus t
if t < -6.654487547109705e+20Initial program 42.4
Taylor expanded around -inf 4.9
Simplified4.9
if -6.654487547109705e+20 < t < 4.889623337220024e+113Initial program 39.1
Taylor expanded around inf 18.6
Simplified14.4
Taylor expanded around -inf 18.6
Simplified14.4
if 4.889623337220024e+113 < t Initial program 52.1
Taylor expanded around inf 2.9
Simplified2.9
Final simplification9.7
herbie shell --seed 2019008 +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:
| 541.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 43.6b
Found 4 expressions with local error:
| 22.9b | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 12.6b | (- (* (/ (+ 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:
| 38.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 17.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 13.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
4 calls. Slowest were:
| 863.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 280.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 119.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 32.0ms | (* (sqrt 2) t) |
49 calls. Slowest were:
| 974.0ms | (sqrt (+ (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 543.0ms | (/ (sqrt 2) (sqrt (* (cbrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) (cbrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))) |
| 533.0ms | (/ (sqrt 2) (* (cbrt (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) (cbrt (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 3.2b
Found 4 expressions with local error:
| 29.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 4.8b | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 0.4b | (* (sqrt 2) t) |
| 0.1b | (* (/ t x) (* t 4)) |
4 calls. Slowest were:
| 7.0ms | (* (/ t x) (* t 4)) |
| 4.0ms | (* (sqrt 2) t) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
4 calls. Slowest were:
| 294.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 49.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 41.0ms | (* (sqrt 2) t) |
| 12.0ms | (* (/ t x) (* t 4)) |
24 calls. Slowest were:
| 571.0ms | (* (* (* (/ t x) (/ t x)) (/ t x)) (* (* (* t 4) (* t 4)) (* t 4))) |
| 105.0ms | (sqrt (* (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))))) |
| 100.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 3.1b
Found 4 expressions with local error:
| 29.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 4.8b | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 0.4b | (* (sqrt 2) t) |
| 0.1b | (* (/ t x) (* t 4)) |
4 calls. Slowest were:
| 6.0ms | (* (/ t x) (* t 4)) |
| 2.0ms | (* (sqrt 2) t) |
| 1.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
4 calls. Slowest were:
| 247.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 41.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 24.0ms | (* (sqrt 2) t) |
| 12.0ms | (* (/ t x) (* t 4)) |
24 calls. Slowest were:
| 635.0ms | (* (* (* (/ t x) (/ t x)) (/ t x)) (* (* (* t 4) (* t 4)) (* t 4))) |
| 149.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))))) |
| 136.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 3.1b
Found 4 expressions with local error:
| 29.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 4.8b | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 0.4b | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
| 0.2b | (* (sqrt (sqrt 2)) t) |
4 calls. Slowest were:
| 17.0ms | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
| 6.0ms | (* (sqrt (sqrt 2)) t) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
4 calls. Slowest were:
| 264.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 54.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 50.0ms | (* (sqrt (sqrt 2)) t) |
| 25.0ms | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
29 calls. Slowest were:
| 312.0ms | (* (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2))) (* (* (* (sqrt (sqrt 2)) t) (* (sqrt (sqrt 2)) t)) (* (sqrt (sqrt 2)) t))) |
| 116.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))))) |
| 106.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.1b
75.5% (5.7b remaining)
Error of 9.7b against oracle of 4.0b and baseline of 27.3b