


Bits error versus alpha



Bits error versus beta
Results
if beta < 1.9464430483839193e+161Initial program 1.2
rmApplied *-un-lft-identity1.2
Applied div-inv1.2
Applied times-frac1.5
Simplified1.5
Simplified1.5
rmApplied clear-num1.5
if 1.9464430483839193e+161 < beta Initial program 15.8
rmApplied *-un-lft-identity15.8
Applied div-inv15.8
Applied times-frac17.1
Simplified17.1
Simplified17.1
rmApplied clear-num17.1
Taylor expanded around 0 7.6
Simplified7.6
Final simplification2.5
herbie shell --seed 2019016
(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: 2.9m)Debug log
| 256× | (pre true 80) |
| 256× | (body real 80) |
| 456.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 |
| 212× | add-cube-cbrt |
| 212× | *-un-lft-identity |
| 212× | 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× | associate-/r* |
| 4× | pow1 |
| 3× | associate-/l/ |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | associate-+l+ |
| 2× | +-commutative |
| 1× | sum-log |
| 109.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 42.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 22.0ms | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
| 6.0ms | (+ (+ alpha beta) (* beta alpha)) |
| 103.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 65.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 10.0ms | (+ (+ alpha beta) (* beta alpha)) |
| 8.0ms | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
| 1.0s | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 1) (* 2 1)))) 1) |
| 776.0ms | (+ (pow (+ (+ alpha beta) (* beta alpha)) 3) (pow 1.0 3)) |
| 736.0ms | (/ (/ (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 697.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 1) (* 2 1)))) |
| 678.0ms | (/ (/ (/ 1 (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 2.2b | (/ (+ (* alpha beta) (+ alpha (+ beta 1.0))) (+ 2 (+ beta alpha))) |
| 0.3b | (* (/ (+ (* alpha beta) (+ alpha (+ beta 1.0))) (+ 2 (+ beta alpha))) (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2))) |
| 0.1b | (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) |
| 0.0b | (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) |
| 78× | times-frac |
| 56× | associate-/r/ |
| 51× | *-un-lft-identity |
| 49× | add-cube-cbrt |
| 49× | add-sqr-sqrt |
| 45× | flip-+ |
| 45× | flip3-+ |
| 36× | associate-*r* |
| 32× | frac-add |
| 30× | add-exp-log |
| 20× | add-cbrt-cube |
| 15× | associate-*l* |
| 13× | associate-/l* |
| 12× | div-inv |
| 10× | div-exp |
| 10× | associate-/r* |
| 7× | pow1 |
| 6× | prod-exp |
| 6× | cbrt-undiv |
| 4× | add-log-exp |
| 4× | cbrt-unprod |
| 4× | rec-exp |
| 3× | associate-/l/ |
| 3× | frac-2neg |
| 3× | clear-num |
| 1× | inv-pow |
| 1× | distribute-lft-out |
| 1× | pow-flip |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | associate-*l/ |
| 1× | pow-prod-down |
| 1× | frac-times |
| 18.0ms | (/ (+ (* alpha beta) (+ alpha (+ beta 1.0))) (+ 2 (+ beta alpha))) |
| 15.0ms | (* (/ (+ (* alpha beta) (+ alpha (+ beta 1.0))) (+ 2 (+ beta alpha))) (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2))) |
| 7.0ms | (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) |
| 3.0ms | (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) |
| 107.0ms | (* (/ (+ (* alpha beta) (+ alpha (+ beta 1.0))) (+ 2 (+ beta alpha))) (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2))) |
| 65.0ms | (/ (+ (* alpha beta) (+ alpha (+ beta 1.0))) (+ 2 (+ beta alpha))) |
| 55.0ms | (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) |
| 32.0ms | (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) |
| 615.0ms | (+ (pow (* alpha beta) 3) (pow (+ alpha (+ beta 1.0)) 3)) |
| 600.0ms | (/ (* (* (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (/ 1 (+ (+ alpha 2) (+ 1.0 beta)))) (/ 1 (+ (+ alpha 2) (+ 1.0 beta)))) (* (* (+ (+ alpha beta) 2) (+ (+ alpha beta) 2)) (+ (+ alpha beta) 2))) |
| 546.0ms | (/ (/ 1 (- (* (+ alpha 2) (+ alpha 2)) (* (+ 1.0 beta) (+ 1.0 beta)))) (* (cbrt (+ (+ alpha beta) 2)) (cbrt (+ (+ alpha beta) 2)))) |
| 525.0ms | (* (/ (* (* (+ (* alpha beta) (+ alpha (+ beta 1.0))) (+ (* alpha beta) (+ alpha (+ beta 1.0)))) (+ (* alpha beta) (+ alpha (+ beta 1.0)))) (* (* (+ 2 (+ beta alpha)) (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) (* (* (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2))) (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)))) |
| 512.0ms | (/ 1 (+ (* (+ (pow alpha 3) (pow 2 3)) (- 1.0 beta)) (* (+ (* alpha alpha) (- (* 2 2) (* alpha 2))) (- (* 1.0 1.0) (* beta beta))))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 2.2b | (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0)))) |
| 0.3b | (* (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0))))) (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2))) |
| 0.1b | (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) |
| 0.1b | (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0))))) |
| 78× | times-frac |
| 52× | associate-/r/ |
| 49× | add-cube-cbrt |
| 49× | *-un-lft-identity |
| 49× | add-sqr-sqrt |
| 40× | flip-+ |
| 40× | add-exp-log |
| 40× | flip3-+ |
| 36× | associate-*r* |
| 28× | frac-add |
| 21× | associate-/r* |
| 13× | associate-/l* |
| 13× | div-inv |
| 13× | div-exp |
| 13× | add-cbrt-cube |
| 12× | rec-exp |
| 9× | prod-exp |
| 7× | pow1 |
| 5× | associate-*l* |
| 4× | add-log-exp |
| 3× | associate-/l/ |
| 3× | frac-2neg |
| 3× | clear-num |
| 3× | cbrt-undiv |
| 2× | cbrt-unprod |
| 1× | inv-pow |
| 1× | pow-flip |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | associate-*l/ |
| 1× | pow-prod-down |
| 1× | frac-times |
| 13.0ms | (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) |
| 12.0ms | (* (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0))))) (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2))) |
| 8.0ms | (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0)))) |
| 5.0ms | (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0))))) |
| 117.0ms | (* (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0))))) (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2))) |
| 72.0ms | (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0)))) |
| 42.0ms | (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0))))) |
| 41.0ms | (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) |
| 869.0ms | (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) |
| 551.0ms | (/ (/ 1 (- (* (+ alpha 2) (+ alpha 2)) (* (+ 1.0 beta) (+ 1.0 beta)))) (* (cbrt (+ (+ alpha beta) 2)) (cbrt (+ (+ alpha beta) 2)))) |
| 523.0ms | (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)) |
| 523.0ms | (+ (- (log (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0)))))) (log (/ (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (+ (+ alpha beta) 2)))) |
| 519.0ms | (* (* (* (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0))))) (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0)))))) (/ 1 (/ (+ 2 (+ beta alpha)) (+ (* alpha beta) (+ alpha (+ beta 1.0)))))) (/ (* (* (/ 1 (+ (+ alpha 2) (+ 1.0 beta))) (/ 1 (+ (+ alpha 2) (+ 1.0 beta)))) (/ 1 (+ (+ alpha 2) (+ 1.0 beta)))) (* (* (+ (+ alpha beta) 2) (+ (+ alpha beta) 2)) (+ (+ alpha beta) 2)))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 2.2b | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ (+ 2 beta) alpha)) |
| 2.2b | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha))) |
| 0.9b | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha)))) (* (sqrt (+ 2 (+ beta alpha))) (+ (+ beta alpha) (+ 1.0 2)))) |
| 0.5b | (* (sqrt (+ 2 (+ beta alpha))) (+ (+ beta alpha) (+ 1.0 2))) |
| 54× | times-frac |
| 50× | flip-+ |
| 50× | flip3-+ |
| 41× | *-un-lft-identity |
| 39× | add-cube-cbrt |
| 39× | add-sqr-sqrt |
| 33× | sqrt-prod |
| 29× | sqrt-div |
| 28× | associate-/r/ |
| 24× | associate-/l* |
| 24× | frac-add |
| 24× | frac-times |
| 15× | add-exp-log |
| 15× | add-cbrt-cube |
| 12× | associate-*r/ |
| 7× | associate-/r* |
| 6× | associate-*l* |
| 6× | pow1 |
| 5× | associate-/l/ |
| 5× | div-inv |
| 4× | add-log-exp |
| 4× | associate-*l/ |
| 4× | associate-*r* |
| 4× | div-exp |
| 4× | cbrt-undiv |
| 3× | frac-2neg |
| 3× | clear-num |
| 2× | cbrt-unprod |
| 2× | prod-exp |
| 1× | distribute-lft-out |
| 1× | *-commutative |
| 1× | pow-prod-down |
| 1× | distribute-lft-in |
| 1× | distribute-rgt-in |
| 45.0ms | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ (+ 2 beta) alpha)) |
| 37.0ms | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha))) |
| 35.0ms | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha)))) (* (sqrt (+ 2 (+ beta alpha))) (+ (+ beta alpha) (+ 1.0 2)))) |
| 9.0ms | (* (sqrt (+ 2 (+ beta alpha))) (+ (+ beta alpha) (+ 1.0 2))) |
| 90.0ms | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha)))) (* (sqrt (+ 2 (+ beta alpha))) (+ (+ beta alpha) (+ 1.0 2)))) |
| 55.0ms | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha))) |
| 54.0ms | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ (+ 2 beta) alpha)) |
| 50.0ms | (* (sqrt (+ 2 (+ beta alpha))) (+ (+ beta alpha) (+ 1.0 2))) |
| 1.0s | (- (* (+ (+ beta 1.0) (* alpha beta)) (+ (+ beta 1.0) (* alpha beta))) (* alpha alpha)) |
| 753.0ms | (+ (pow (+ (+ beta 1.0) (* alpha beta)) 3) (pow alpha 3)) |
| 736.0ms | (- (* (+ (+ beta 1.0) (* alpha beta)) (+ (+ beta 1.0) (* alpha beta))) (* alpha alpha)) |
| 584.0ms | (+ (pow (+ (+ beta 1.0) (* alpha beta)) 3) (pow alpha 3)) |
| 507.0ms | (/ (* (* (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha)))) (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha))))) (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (+ 2 (+ beta alpha))))) (* (* (* (sqrt (+ 2 (+ beta alpha))) (sqrt (+ 2 (+ beta alpha)))) (sqrt (+ 2 (+ beta alpha)))) (* (* (+ (+ beta alpha) (+ 1.0 2)) (+ (+ beta alpha) (+ 1.0 2))) (+ (+ beta alpha) (+ 1.0 2))))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 0.2b
54.5% (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) |