


Bits error versus alpha



Bits error versus beta
if beta < 6.377535961616027e+161Initial program 1.2
rmApplied *-un-lft-identity1.2
Applied div-inv1.2
Applied times-frac1.5
Simplified1.5
Simplified1.5
if 6.377535961616027e+161 < beta Initial program 15.8
rmApplied *-un-lft-identity15.8
Applied div-inv15.8
Applied times-frac17.1
Simplified17.1
Simplified17.1
Taylor expanded around 0 7.6
Simplified7.6
Final simplification2.5
herbie shell --seed 2019016 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))
Time bar (total: 9.6m)Debug log
| 256× | (pre true 80) |
| 256× | (body real 80) |
| 726.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 2.3b
Found 4 expressions with local error:
| 2.2b | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 0.1b | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 0.0b | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
| 0.0b | (+ (+ alpha beta) (* beta alpha)) |
| 450× | times-frac |
| 214× | add-cube-cbrt |
| 214× | *-un-lft-identity |
| 214× | add-sqr-sqrt |
| 54× | associate-/l* |
| 36× | associate-/r/ |
| 21× | flip-+ |
| 21× | flip3-+ |
| 18× | div-inv |
| 15× | add-exp-log |
| 15× | add-cbrt-cube |
| 7× | div-exp |
| 7× | cbrt-undiv |
| 6× | add-log-exp |
| 6× | fma-def |
| 6× | associate-/r* |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-/l/ |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | associate-+l+ |
| 2× | +-commutative |
| 1× | sum-log |
| 88.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 36.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 13.0ms | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
| 4.0ms | (+ (+ alpha beta) (* beta alpha)) |
| 95.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 63.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 13.0ms | (+ (+ alpha beta) (* beta alpha)) |
| 8.0ms | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
| 1.1s | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 1) (* 2 1)))) 1) |
| 1.1s | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) |
| 1.0s | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 1) (* 2 1)))) 1) (* (cbrt (+ (+ (+ alpha beta) (* 2 1)) 1.0)) (cbrt (+ (+ (+ alpha beta) (* 2 1)) 1.0)))) |
| 842.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) 1) |
| 820.0ms | (/ (/ (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 2.2b | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
| 0.3b | (* (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2))) |
| 0.1b | (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2)) |
| 0.0b | (/ 1 (+ (+ beta 2) (+ alpha 1.0))) |
| 84× | times-frac |
| 67× | *-un-lft-identity |
| 56× | associate-/r/ |
| 51× | add-cube-cbrt |
| 51× | add-sqr-sqrt |
| 45× | flip-+ |
| 45× | flip3-+ |
| 36× | associate-*r* |
| 32× | frac-add |
| 30× | add-exp-log |
| 20× | add-cbrt-cube |
| 18× | associate-*l* |
| 14× | associate-/l* |
| 12× | div-inv |
| 10× | div-exp |
| 10× | associate-/r* |
| 8× | distribute-lft-out |
| 7× | pow1 |
| 6× | prod-exp |
| 6× | cbrt-undiv |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | rec-exp |
| 4× | expm1-log1p-u |
| 3× | associate-/l/ |
| 3× | frac-2neg |
| 3× | clear-num |
| 1× | inv-pow |
| 1× | pow-flip |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | associate-*l/ |
| 1× | pow-prod-down |
| 1× | frac-times |
| 20.0ms | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
| 16.0ms | (* (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2))) |
| 11.0ms | (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2)) |
| 3.0ms | (/ 1 (+ (+ beta 2) (+ alpha 1.0))) |
| 118.0ms | (* (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2))) |
| 56.0ms | (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2)) |
| 46.0ms | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
| 31.0ms | (/ 1 (+ (+ beta 2) (+ alpha 1.0))) |
| 1.0s | (+ (log (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha)))) (log (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2)))) |
| 991.0ms | (/ (/ 1 (- (* (+ beta 2) (+ beta 2)) (* (+ alpha 1.0) (+ alpha 1.0)))) 1) |
| 708.0ms | (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2)) |
| 633.0ms | (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2)) |
| 602.0ms | (/ (/ 1 (+ (+ beta 2) (+ alpha 1.0))) (+ (+ alpha beta) 2)) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 2.2b | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) |
| 2.2b | (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) |
| 0.1b | (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta))) |
| 0.1b | (sqrt (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) (+ beta (+ alpha 2)))) |
| 819× | times-frac |
| 601× | *-un-lft-identity |
| 360× | sqrt-prod |
| 355× | add-sqr-sqrt |
| 349× | add-cube-cbrt |
| 126× | distribute-lft-out |
| 71× | associate-/l* |
| 58× | associate-/r/ |
| 33× | flip-+ |
| 33× | flip3-+ |
| 27× | div-inv |
| 10× | add-exp-log |
| 10× | add-cbrt-cube |
| 10× | associate-/r* |
| 5× | associate-/l/ |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | frac-add |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | div-exp |
| 3× | frac-2neg |
| 3× | clear-num |
| 3× | rem-sqrt-square |
| 3× | cbrt-undiv |
| 2× | sqrt-div |
| 1× | pow1/2 |
| 48.0ms | (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta))) |
| 22.0ms | (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) |
| 16.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) |
| 13.0ms | (sqrt (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) (+ beta (+ alpha 2)))) |
| 107.0ms | (sqrt (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) (+ beta (+ alpha 2)))) |
| 74.0ms | (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta))) |
| 49.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) |
| 44.0ms | (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) |
| 941.0ms | (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (- (* (+ 2 beta) (+ 2 beta)) (* alpha alpha)))) |
| 551.0ms | (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (- (* (+ 2 beta) (+ 2 beta)) (* alpha alpha)))) (* (cbrt (+ (+ 1.0 alpha) (+ 2 beta))) (cbrt (+ (+ 1.0 alpha) (+ 2 beta))))) |
| 543.0ms | (/ (sqrt (/ (+ (* (+ 2 beta) (+ 2 beta)) (- (* alpha alpha) (* (+ 2 beta) alpha))) (cbrt (+ (+ 2 beta) alpha)))) (sqrt (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 526.0ms | (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (- (* (+ 2 beta) (+ 2 beta)) (* alpha alpha)))) 1) |
| 523.0ms | (/ (sqrt (/ (/ (cbrt (+ (+ beta 1.0) (fma beta alpha alpha))) (cbrt (+ (+ 2 beta) alpha))) (+ (+ 2 beta) alpha))) (cbrt (+ (+ 1.0 alpha) (+ 2 beta)))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 2.2b | (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) |
| 0.7b | (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) (fma (+ beta alpha) (+ beta alpha) -4)) |
| 0.0b | (/ (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) (fma (+ beta alpha) (+ beta alpha) -4)) (/ (+ (+ (+ alpha beta) (* 2 1)) 1.0) (- (+ alpha beta) (* 2 1)))) |
| 0.0b | (/ (+ (+ (+ alpha beta) (* 2 1)) 1.0) (- (+ alpha beta) (* 2 1))) |
| 2964× | times-frac |
| 1493× | *-un-lft-identity |
| 1173× | add-cube-cbrt |
| 1173× | add-sqr-sqrt |
| 227× | associate-/r/ |
| 160× | distribute-lft-out |
| 131× | div-inv |
| 83× | associate-/l* |
| 60× | flip-- |
| 60× | flip3-- |
| 55× | flip-+ |
| 55× | flip3-+ |
| 34× | add-exp-log |
| 34× | add-cbrt-cube |
| 24× | associate-/r* |
| 20× | div-exp |
| 20× | cbrt-undiv |
| 6× | associate-/l/ |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | frac-2neg |
| 4× | clear-num |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 51.0ms | (/ (+ (+ (+ alpha beta) (* 2 1)) 1.0) (- (+ alpha beta) (* 2 1))) |
| 48.0ms | (/ (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) (fma (+ beta alpha) (+ beta alpha) -4)) (/ (+ (+ (+ alpha beta) (* 2 1)) 1.0) (- (+ alpha beta) (* 2 1)))) |
| 17.0ms | (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) (fma (+ beta alpha) (+ beta alpha) -4)) |
| 12.0ms | (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) |
| 180.0ms | (/ (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) (fma (+ beta alpha) (+ beta alpha) -4)) (/ (+ (+ (+ alpha beta) (* 2 1)) 1.0) (- (+ alpha beta) (* 2 1)))) |
| 115.0ms | (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) (fma (+ beta alpha) (+ beta alpha) -4)) |
| 43.0ms | (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) |
| 34.0ms | (/ (+ (+ (+ alpha beta) (* 2 1)) 1.0) (- (+ alpha beta) (* 2 1))) |
| 869.0ms | (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ (pow 2 3) (pow (+ beta alpha) 3))) 1) |
| 745.0ms | (/ (/ (* (* (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha))) (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha)))) (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ 2 (+ beta alpha)))) (* (* (fma (+ beta alpha) (+ beta alpha) -4) (fma (+ beta alpha) (+ beta alpha) -4)) (fma (+ beta alpha) (+ beta alpha) -4))) (/ (* (* (+ (+ (+ alpha beta) (* 2 1)) 1.0) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) (* (* (- (+ alpha beta) (* 2 1)) (- (+ alpha beta) (* 2 1))) (- (+ alpha beta) (* 2 1))))) |
| 598.0ms | (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ (pow 2 3) (pow (+ beta alpha) 3))) 1) |
| 592.0ms | (/ (/ (/ (+ (fma alpha beta 1.0) (+ beta alpha)) (+ (pow 2 3) (pow (+ beta alpha) 3))) 1) 1) |
| 579.0ms | (/ (/ (/ (* (cbrt (+ (fma alpha beta 1.0) (+ beta alpha))) (cbrt (+ (fma alpha beta 1.0) (+ beta alpha)))) (sqrt (+ 2 (+ beta alpha)))) (* (cbrt (fma (+ beta alpha) (+ beta alpha) -4)) (cbrt (fma (+ beta alpha) (+ beta alpha) -4)))) (/ (+ (+ (+ alpha beta) (* 2 1)) 1.0) (- (pow (+ alpha beta) 3) (pow (* 2 1) 3)))) |
7 alts after pruning (4 fresh and 3 done)
Merged error: 0.2b
54.4% (1.3b remaining)
Error of 2.5b against oracle of 1.2b and baseline of 4.1b
| 8000× | (pre true 80) |
| 8000× | (body real 80) |