


Bits error versus alpha



Bits error versus beta
Results
if alpha < 3.0718281463403067e+159Initial program 1.2
rmApplied *-un-lft-identity1.2
Applied *-un-lft-identity1.2
Applied times-frac1.2
Applied associate-/l*1.3
Simplified1.3
if 3.0718281463403067e+159 < alpha Initial program 15.4
rmApplied *-un-lft-identity15.4
Applied *-un-lft-identity15.4
Applied times-frac15.4
Applied associate-/l*15.4
Simplified15.4
Taylor expanded around inf 0.1
Final simplification1.1
herbie shell --seed 2019022 +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: 3.7m)Debug log
| 55.0ms | 256× | body | 80 | valid |
| 9.0ms | 256× | pre | 80 | true |
| 774.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: 3.5b
Found 4 expressions with local error:
| 3.4b | (/ (+ (+ (+ 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) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 0.0b | (+ (+ alpha beta) (* beta alpha)) |
| 531× | times-frac |
| 257× | add-cube-cbrt |
| 257× | *-un-lft-identity |
| 257× | add-sqr-sqrt |
| 69× | associate-/l* |
| 46× | associate-/r/ |
| 25× | flip-+ |
| 25× | flip3-+ |
| 23× | div-inv |
| 20× | add-exp-log |
| 20× | add-cbrt-cube |
| 10× | div-exp |
| 10× | cbrt-undiv |
| 9× | associate-/r* |
| 6× | add-log-exp |
| 4× | associate-/l/ |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | frac-2neg |
| 3× | fma-def |
| 3× | clear-num |
| 1× | sum-log |
| 1× | associate-+l+ |
| 1× | +-commutative |
| 113.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 77.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 62.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 6.0ms | (+ (+ alpha beta) (* beta alpha)) |
| 84.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 77.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 67.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 16.0ms | (+ (+ alpha beta) (* beta alpha)) |
| 1.0s | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 1) (* 2 1)))) 1) |
| 987.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) |
| 931.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) 1) |
| 901.0ms | (/ (/ (/ (sqrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (sqrt (+ (+ alpha beta) (* 2 1)))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 891.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 2.1b
Found 4 expressions with local error:
| 3.4b | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 0.1b | (/ (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 0.1b | (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) |
| 0.0b | (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))) |
| 177× | times-frac |
| 103× | add-cube-cbrt |
| 103× | *-un-lft-identity |
| 103× | add-sqr-sqrt |
| 71× | associate-/r* |
| 28× | add-exp-log |
| 25× | associate-/r/ |
| 16× | div-inv |
| 14× | div-exp |
| 13× | add-cbrt-cube |
| 11× | associate-/l* |
| 11× | flip-+ |
| 11× | flip3-+ |
| 6× | rec-exp |
| 5× | associate-/l/ |
| 5× | cbrt-undiv |
| 5× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | frac-2neg |
| 4× | clear-num |
| 4× | expm1-log1p-u |
| 1× | inv-pow |
| 1× | pow-flip |
| 52.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 28.0ms | (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))) |
| 17.0ms | (/ (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 10.0ms | (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) |
| 97.0ms | (/ (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 78.0ms | (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))) |
| 65.0ms | (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) |
| 44.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 820.0ms | (+ (pow (+ (+ alpha beta) (* beta alpha)) 3) (pow 1.0 3)) |
| 779.0ms | (- (* (+ (+ alpha beta) (* beta alpha)) (+ (+ alpha beta) (* beta alpha))) (* 1.0 1.0)) |
| 697.0ms | (/ (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 622.0ms | (/ (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 608.0ms | (/ (cbrt (/ 1 (/ (+ (+ alpha beta) (* 2 1)) (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1)))))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 3.4b | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 2 beta) alpha)) |
| 3.4b | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 2 beta) alpha)) |
| 0.7b | (* (sqrt (+ (+ 2 beta) alpha)) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 0.7b | (* (sqrt (+ (+ 2 beta) alpha)) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 64× | sqrt-div |
| 50× | *-un-lft-identity |
| 48× | flip-+ |
| 48× | flip3-+ |
| 30× | add-cube-cbrt |
| 30× | add-sqr-sqrt |
| 24× | frac-add |
| 24× | times-frac |
| 24× | frac-times |
| 14× | sqrt-prod |
| 14× | associate-*r* |
| 12× | add-exp-log |
| 12× | associate-*r/ |
| 12× | associate-*l* |
| 12× | add-cbrt-cube |
| 10× | distribute-lft-out |
| 8× | associate-/l* |
| 8× | pow1 |
| 6× | associate-/r* |
| 4× | associate-/l/ |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | associate-/r/ |
| 4× | associate-*l/ |
| 4× | pow-prod-down |
| 4× | pow1/2 |
| 4× | expm1-log1p-u |
| 2× | div-inv |
| 2× | cbrt-unprod |
| 2× | *-commutative |
| 2× | prod-exp |
| 2× | div-exp |
| 2× | sqrt-unprod |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | cbrt-undiv |
| 23.0ms | (* (sqrt (+ (+ 2 beta) alpha)) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 20.0ms | (* (sqrt (+ (+ 2 beta) alpha)) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 13.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 2 beta) alpha)) |
| 13.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 2 beta) alpha)) |
| 57.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 2 beta) alpha)) |
| 43.0ms | (* (sqrt (+ (+ 2 beta) alpha)) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 40.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 2 beta) alpha)) |
| 31.0ms | (* (sqrt (+ (+ 2 beta) alpha)) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 767.0ms | (* (sqrt (- (+ 2 beta) alpha)) (sqrt (* (+ (* beta beta) (- (* 1.0 1.0) (* beta 1.0))) (+ (* alpha alpha) (- (* 2 2) (* alpha 2)))))) |
| 580.0ms | (* (sqrt (+ (pow (+ 2 beta) 3) (pow alpha 3))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 499.0ms | (sqrt (* (+ (* beta beta) (- (* 1.0 1.0) (* beta 1.0))) (- alpha 2))) |
| 483.0ms | (sqrt (* (+ (* beta beta) (- (* 1.0 1.0) (* beta 1.0))) (- alpha 2))) |
| 469.0ms | (* (sqrt (+ (pow (+ 2 beta) 3) (pow alpha 3))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 3.4b | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 1.0 alpha) (+ 2 beta))) |
| 3.0b | (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 1.0 alpha) (+ 2 beta))) (* (+ 2 (+ beta alpha)) (+ 2 (+ beta alpha)))) |
| 0.0b | (* (+ 2 (+ beta alpha)) (+ 2 (+ beta alpha))) |
| 0.0b | (+ (+ 1.0 alpha) (+ 2 beta)) |
| 89× | *-un-lft-identity |
| 74× | times-frac |
| 35× | add-cube-cbrt |
| 35× | add-sqr-sqrt |
| 33× | flip-+ |
| 33× | flip3-+ |
| 30× | associate-/l* |
| 27× | distribute-lft-out |
| 26× | associate-/r/ |
| 20× | add-exp-log |
| 20× | add-cbrt-cube |
| 16× | frac-add |
| 9× | pow1 |
| 8× | frac-times |
| 7× | div-exp |
| 7× | cbrt-undiv |
| 6× | add-log-exp |
| 5× | associate-/r* |
| 4× | div-inv |
| 4× | log1p-expm1-u |
| 4× | associate-*r/ |
| 4× | associate-*l/ |
| 4× | expm1-log1p-u |
| 3× | associate-/l/ |
| 3× | cbrt-unprod |
| 3× | prod-exp |
| 3× | associate-*l* |
| 3× | associate-*r* |
| 3× | fma-def |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | pow-prod-up |
| 1× | *-commutative |
| 1× | pow-prod-down |
| 1× | pow-plus |
| 1× | distribute-lft-in |
| 1× | sum-log |
| 1× | associate-+r+ |
| 1× | associate-+l+ |
| 1× | +-commutative |
| 1× | distribute-rgt-in |
| 1× | pow2 |
| 43.0ms | (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 1.0 alpha) (+ 2 beta))) (* (+ 2 (+ beta alpha)) (+ 2 (+ beta alpha)))) |
| 32.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 1.0 alpha) (+ 2 beta))) |
| 8.0ms | (* (+ 2 (+ beta alpha)) (+ 2 (+ beta alpha))) |
| 7.0ms | (+ (+ 1.0 alpha) (+ 2 beta)) |
| 96.0ms | (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 1.0 alpha) (+ 2 beta))) (* (+ 2 (+ beta alpha)) (+ 2 (+ beta alpha)))) |
| 41.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ (+ 1.0 alpha) (+ 2 beta))) |
| 13.0ms | (* (+ 2 (+ beta alpha)) (+ 2 (+ beta alpha))) |
| 12.0ms | (+ (+ 1.0 alpha) (+ 2 beta)) |
| 1.1s | (* (+ (* 2 2) (- (* (+ beta alpha) (+ beta alpha)) (* 2 (+ beta alpha)))) (+ (* 2 2) (- (* (+ beta alpha) (+ beta alpha)) (* 2 (+ beta alpha))))) |
| 863.0ms | (* (+ (* 2 2) (- (* (+ beta alpha) (+ beta alpha)) (* 2 (+ beta alpha)))) (+ (* 2 2) (- (* (+ beta alpha) (+ beta alpha)) (* 2 (+ beta alpha))))) |
| 587.0ms | (* (+ (* 1.0 1.0) (- (* alpha alpha) (* 1.0 alpha))) (+ (* 2 2) (- (* beta beta) (* 2 beta)))) |
| 496.0ms | (* (+ (* 1.0 1.0) (- (* alpha alpha) (* 1.0 alpha))) (+ (* 2 2) (- (* beta beta) (* 2 beta)))) |
| 493.0ms | (/ (/ 1 (+ (+ 1.0 alpha) (+ 2 beta))) (+ 2 (+ beta alpha))) |
7 alts after pruning (4 fresh and 3 done)
Merged error: 0.0b
70.6% (1.0b remaining)
Error of 1.1b against oracle of 0.0b and baseline of 3.5b
| 1.4s | 8000× | body | 80 | valid |
| 690.0ms | 8000× | pre | 80 | true |