


Bits error versus x



Bits error versus l



Bits error versus t
if t < -3.805590925906621e+75 or -2.999571694817558e-156 < t < -5.850506967033837e-251Initial program 49.7
Simplified49.7
Taylor expanded around -inf 10.6
if -3.805590925906621e+75 < t < -2.999571694817558e-156 or -5.850506967033837e-251 < t < 6.269988539509832e-184Initial program 40.9
Simplified40.9
Taylor expanded around inf 18.9
Simplified15.2
rmApplied add-sqr-sqrt15.4
Applied associate-*r*15.3
if 6.269988539509832e-184 < t < 1.1645529092085739e-138 or 5.2972532669470574e+36 < t Initial program 43.8
Simplified43.8
Taylor expanded around inf 7.2
Simplified7.2
if 1.1645529092085739e-138 < t < 5.2972532669470574e+36Initial program 28.8
Simplified28.8
Taylor expanded around inf 9.7
Simplified4.6
Final simplification10.1
herbie shell --seed 2019016 +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: 38.5s)Debug log
| 631× | (pre true 80) |
| 310× | (body nan 80) |
| 161× | (body real 80) |
| 38× | (body real 640) |
| 24× | (body nan 1280) |
| 24× | (body real 1280) |
| 23× | (body real 320) |
| 20× | (body nan 640) |
| 12× | (body nan 320) |
| 11× | (body real 160) |
| 8× | (body nan 160) |
| 559.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: 46.3b
Found 4 expressions with local error:
| 23.8b | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 14.5b | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 0.5b | (* t (sqrt 2)) |
| 0.0b | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 11× | add-sqr-sqrt |
| 10× | add-cube-cbrt |
| 10× | *-un-lft-identity |
| 9× | sqrt-prod |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 6× | times-frac |
| 6× | associate-/r* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-*r* |
| 1× | associate-/l* |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | *-commutative |
| 1× | div-exp |
| 1× | pow1/2 |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | rem-sqrt-square |
| 1× | cbrt-undiv |
| 9.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 5.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 2.0ms | (* t (sqrt 2)) |
| 0.0ms | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 314.0ms | (/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 216.0ms | (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) |
| 109.0ms | (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))) |
| 39.0ms | (* t (sqrt 2)) |
| 659.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)))))) |
| 629.0ms | (/ t (sqrt (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))) |
| 607.0ms | (sqrt (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) |
| 600.0ms | (/ t (* (cbrt (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) (cbrt (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))))) |
| 597.0ms | (/ (sqrt 2) (sqrt (cbrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 3.8b
Found 4 expressions with local error:
| 32.4b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 4.6b | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 0.5b | (* t (sqrt 2)) |
| 0.1b | (* (* t 4) (/ t x)) |
| 8× | add-sqr-sqrt |
| 7× | add-cube-cbrt |
| 7× | associate-*r* |
| 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× | associate-*r/ |
| 1× | prod-exp |
| 1× | pow-prod-down |
| 1× | associate-*l* |
| 1× | pow1/2 |
| 1× | rem-sqrt-square |
| 7.0ms | (* (* t 4) (/ t x)) |
| 2.0ms | (* t (sqrt 2)) |
| 2.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 0.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 268.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 (sqrt 2)) |
| 15.0ms | (* (* t 4) (/ t x)) |
| 491.0ms | (* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x))) |
| 144.0ms | (sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))) |
| 123.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t 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)))))) |
| 93.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:
| 32.4b | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 4.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))) |
| 12× | associate-*r* |
| 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-*l* |
| 1× | pow1/2 |
| 1× | rem-sqrt-square |
| 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)))) |
| 0.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 249.0ms | (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 71.0ms | (* t (sqrt (sqrt 2))) |
| 41.0ms | (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))) |
| 32.0ms | (* (* t (sqrt (sqrt 2))) (sqrt (sqrt 2))) |
| 419.0ms | (* (* (* (* t (sqrt (sqrt 2))) (* t (sqrt (sqrt 2)))) (* t (sqrt (sqrt 2)))) (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2)))) |
| 140.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)))))) |
| 121.0ms | (+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x)))) |
| 121.0ms | (sqrt (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
Found 4 expressions with local error:
| 33.3b | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 33.3b | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 33.3b | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 32.4b | (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))))) (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))))) |
| 9× | cbrt-prod |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | pow1/3 |
| 1× | sqrt-prod |
| 1× | pow1/2 |
| 5.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))))) (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))))) |
| 1.0ms | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 1.0ms | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 1.0ms | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 235.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))))) (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))))) |
| 232.0ms | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 210.0ms | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 202.0ms | (cbrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))) |
| 412.0ms | (exp (* 1/3 (- (+ (log -2) (log (/ -1 x))) (* 2 (log (/ -1 l)))))) |
| 395.0ms | (exp (* 1/3 (- (+ (log -2) (log (/ -1 x))) (* 2 (log (/ -1 l)))))) |
| 394.0ms | (exp (* 1/3 (- (+ (log 2) (log (/ 1 x))) (* 2 (log (/ 1 l)))))) |
| 385.0ms | (exp (* 1/3 (- (+ (log -2) (log (/ -1 x))) (* 2 (log (/ -1 l)))))) |
| 378.0ms | (exp (* 1/3 (- (+ (log 2) (log (/ 1 x))) (* 2 (log (/ 1 l)))))) |
9 alts after pruning (6 fresh and 3 done)
Merged error: 3.8b
73.7% (6.2b remaining)
Error of 10.1b against oracle of 4.0b and baseline of 27.4b
| 20033× | (pre true 80) |
| 10288× | (body nan 80) |
| 5061× | (body real 80) |
| 1065× | (body real 640) |
| 825× | (body real 1280) |
| 691× | (body real 320) |
| 623× | (body nan 640) |
| 602× | (body nan 1280) |
| 359× | (body real 160) |
| 339× | (body nan 320) |
| 180× | (body nan 160) |