


Bits error versus x



Bits error versus l



Bits error versus t
if t < -5.794477429976132e+47 or -3.7665317815387335e-159 < t < -3.86239255768365e-214Initial program 46.2
Taylor expanded around -inf 8.1
Simplified8.1
if -5.794477429976132e+47 < t < -3.7665317815387335e-159 or -3.86239255768365e-214 < t < 8.117102443425849e+104Initial program 36.5
Taylor expanded around inf 16.2
Simplified12.3
rmApplied add-cube-cbrt12.3
Applied associate-*l*12.3
if 8.117102443425849e+104 < t Initial program 51.1
Taylor expanded around inf 3.0
Simplified3.0
Final simplification9.3
herbie shell --seed 2019010 +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: 39.6s)Debug log
| 932.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: 40.3b
Found 4 expressions with local error:
| 18.9b | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 10.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)))) |
| 11× | add-sqr-sqrt |
| 10× | add-cube-cbrt |
| 10× | *-un-lft-identity |
| 9× | sqrt-prod |
| 6× | add-log-exp |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 6× | times-frac |
| 6× | associate-/r* |
| 4× | log1p-expm1-u |
| 4× | sqrt-div |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | flip-- |
| 3× | associate-*l* |
| 3× | flip3-- |
| 2× | associate-/r/ |
| 2× | associate--l+ |
| 1× | associate-/l* |
| 1× | div-inv |
| 1× | *-commutative |
| 1× | prod-diff |
| 1× | div-exp |
| 1× | diff-log |
| 1× | fma-neg |
| 1× | pow1/2 |
| 1× | distribute-lft-in |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | clear-num |
| 1× | rem-sqrt-square |
| 1× | cbrt-undiv |
| 1× | distribute-rgt-in |
| 17.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 12.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 8.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 2.0ms | (* (sqrt 2) t) |
| 872.0ms | (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 263.0ms | (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 149.0ms | (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)) |
| 38.0ms | (* (sqrt 2) t) |
| 628.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)))))) |
| 615.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)))))) |
| 585.0ms | (sqrt (+ (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) |
| 570.0ms | (sqrt (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))) |
| 560.0ms | (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))))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 4.1b
Found 4 expressions with local error:
| 25.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 3.8b | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 0.4b | (* (sqrt 2) t) |
| 0.1b | (* (/ t x) (* t 4)) |
| 8× | add-sqr-sqrt |
| 7× | add-cube-cbrt |
| 7× | associate-*l* |
| 7× | *-un-lft-identity |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 3× | sqrt-prod |
| 2× | *-commutative |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | cbrt-unprod |
| 1× | prod-exp |
| 1× | associate-*l/ |
| 1× | pow-prod-down |
| 1× | associate-*r* |
| 1× | pow1/2 |
| 1× | rem-sqrt-square |
| 3.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)))) |
| 0.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 269.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 64.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 29.0ms | (* (sqrt 2) t) |
| 12.0ms | (* (/ t x) (* t 4)) |
| 589.0ms | (* (* (* (/ t x) (/ t x)) (/ t x)) (* (* (* t 4) (* t 4)) (* t 4))) |
| 135.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))))) |
| 124.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 110.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
| 107.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)))))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 4.0b
Found 4 expressions with local error:
| 25.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 3.8b | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 0.3b | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t)) |
| 0.2b | (* (cbrt (sqrt 2)) t) |
| 9× | add-exp-log |
| 9× | pow1 |
| 8× | add-sqr-sqrt |
| 7× | add-cube-cbrt |
| 7× | associate-*l* |
| 7× | add-cbrt-cube |
| 7× | *-un-lft-identity |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 3× | cbrt-unprod |
| 3× | sqrt-prod |
| 3× | prod-exp |
| 3× | pow-prod-down |
| 3× | cbrt-prod |
| 2× | *-commutative |
| 1× | fma-udef |
| 1× | associate-*r* |
| 1× | pow1/2 |
| 1× | rem-sqrt-square |
| 31.0ms | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t)) |
| 6.0ms | (* (cbrt (sqrt 2)) t) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 0.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 484.0ms | (* (cbrt (sqrt 2)) t) |
| 215.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 63.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 42.0ms | (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t)) |
| 430.0ms | (* (* (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (* (* (cbrt (sqrt 2)) t) (* (cbrt (sqrt 2)) t)) (* (cbrt (sqrt 2)) t))) |
| 325.0ms | (* (* (sqrt 2) (sqrt 2)) (* (* (* (cbrt (sqrt 2)) t) (* (cbrt (sqrt 2)) t)) (* (cbrt (sqrt 2)) t))) |
| 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)))) |
| 123.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 4.0b
Found 4 expressions with local error:
| 25.0b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 3.8b | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 0.3b | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
| 0.2b | (* (sqrt (sqrt 2)) t) |
| 12× | associate-*l* |
| 10× | add-sqr-sqrt |
| 9× | sqrt-prod |
| 9× | add-cube-cbrt |
| 9× | *-un-lft-identity |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 2× | *-commutative |
| 1× | fma-udef |
| 1× | cbrt-unprod |
| 1× | prod-exp |
| 1× | pow-prod-down |
| 1× | associate-*r* |
| 1× | pow1/2 |
| 1× | rem-sqrt-square |
| 19.0ms | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
| 3.0ms | (* (sqrt (sqrt 2)) t) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 0.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 230.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4)))) |
| 67.0ms | (* (sqrt (sqrt 2)) t) |
| 46.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))) |
| 34.0ms | (* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t)) |
| 378.0ms | (* (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2))) (* (* (* (sqrt (sqrt 2)) t) (* (sqrt (sqrt 2)) t)) (* (sqrt (sqrt 2)) t))) |
| 147.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
| 142.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
| 141.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (/ t x) (* t 4))))) |
| 115.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)))))) |
8 alts after pruning (6 fresh and 2 done)
Merged error: 4.0b
77.3% (5.2b remaining)
Error of 9.3b against oracle of 4.1b and baseline of 26.9b