


Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 5.1297397571292906e+138Initial program 50.2
rmApplied associate-/l*35.0
rmApplied add-sqr-sqrt35.0
Applied add-sqr-sqrt35.0
Applied times-frac35.0
Simplified35.0
Simplified35.0
if 5.1297397571292906e+138 < alpha Initial program 62.5
Taylor expanded around -inf 48.6
Final simplification37.5
herbie shell --seed 2019016 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1) (> beta -1) (> i 1))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))
Time bar (total: 2.1m)Debug log
| 256× | (pre true 80) |
| 256× | (body real 80) |
| 221.0ms | (/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 51.1b
Found 4 expressions with local error:
| 45.3b | (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) |
| 32.3b | (/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 0.1b | (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) |
| 0.0b | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 48× | flip-+ |
| 48× | flip3-+ |
| 44× | times-frac |
| 42× | associate-/r/ |
| 38× | add-exp-log |
| 38× | add-cbrt-cube |
| 32× | frac-times |
| 28× | associate-*r/ |
| 25× | add-cube-cbrt |
| 25× | *-un-lft-identity |
| 25× | add-sqr-sqrt |
| 16× | associate-*l/ |
| 14× | associate-/l* |
| 13× | div-exp |
| 13× | cbrt-undiv |
| 11× | pow1 |
| 10× | cbrt-unprod |
| 10× | prod-exp |
| 9× | associate-/l/ |
| 6× | div-inv |
| 6× | associate-*r* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | associate-*l* |
| 4× | associate-/r* |
| 4× | expm1-log1p-u |
| 2× | *-commutative |
| 2× | pow-prod-down |
| 2× | distribute-lft-in |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | distribute-rgt-in |
| 1× | flip-- |
| 1× | pow-prod-up |
| 1× | flip3-- |
| 1× | pow-plus |
| 1× | pow2 |
| 45.0ms | (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) |
| 44.0ms | (/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 12.0ms | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 12.0ms | (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) |
| 773.0ms | (/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 150.0ms | (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) |
| 83.0ms | (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) |
| 40.0ms | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 877.0ms | (* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) |
| 778.0ms | (/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (pow (+ alpha beta) 3) (pow (* 2 i) 3)) (+ (+ alpha beta) (* 2 i)))) (* (cbrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) (cbrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))) |
| 732.0ms | (* (* i (+ (+ alpha beta) i)) (* i (+ (+ alpha beta) i))) |
| 697.0ms | (* (* i (+ (+ alpha beta) i)) (* i (+ (+ alpha beta) i))) |
| 691.0ms | (/ (- (+ alpha beta) (* 2 i)) (sqrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 32.2b
Found 4 expressions with local error:
| 36.7b | (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) |
| 32.3b | (/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 4.7b | (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) |
| 0.0b | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 108× | times-frac |
| 39× | add-cube-cbrt |
| 39× | *-un-lft-identity |
| 39× | add-sqr-sqrt |
| 34× | add-exp-log |
| 34× | add-cbrt-cube |
| 21× | associate-/r/ |
| 20× | flip-+ |
| 20× | flip3-+ |
| 16× | associate-/l* |
| 16× | div-exp |
| 16× | cbrt-undiv |
| 15× | associate-/r* |
| 13× | div-inv |
| 11× | associate-/l/ |
| 9× | pow1 |
| 8× | frac-times |
| 6× | associate-*r/ |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | prod-exp |
| 4× | associate-*l/ |
| 4× | expm1-log1p-u |
| 3× | associate-*l* |
| 3× | associate-*r* |
| 3× | frac-2neg |
| 3× | clear-num |
| 1× | flip-- |
| 1× | pow-prod-up |
| 1× | *-commutative |
| 1× | pow-prod-down |
| 1× | flip3-- |
| 1× | pow-plus |
| 1× | distribute-lft-in |
| 1× | distribute-rgt-in |
| 1× | pow2 |
| 47.0ms | (/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 28.0ms | (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) |
| 23.0ms | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 13.0ms | (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) |
| 712.0ms | (/ (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 160.0ms | (/ (* i (+ (+ alpha beta) i)) (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) |
| 133.0ms | (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) |
| 40.0ms | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 917.0ms | (* (+ (+ alpha beta) (* 2 i)) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) |
| 890.0ms | (* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) |
| 861.0ms | (/ (/ i (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) 1) |
| 786.0ms | (/ i (* (cbrt (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) (cbrt (/ (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))))) |
| 772.0ms | (* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 32.2b
Found 4 expressions with local error:
| 32.3b | (/ (* i (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 31.3b | (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha))) |
| 0.0b | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 0.0b | (* i (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha)))) |
| 17× | add-exp-log |
| 17× | add-cbrt-cube |
| 12× | add-cube-cbrt |
| 12× | *-un-lft-identity |
| 12× | add-sqr-sqrt |
| 10× | associate-*r* |
| 9× | times-frac |
| 9× | pow1 |
| 6× | flip-+ |
| 6× | flip3-+ |
| 6× | associate-/r* |
| 5× | associate-*r/ |
| 5× | div-exp |
| 5× | cbrt-undiv |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | frac-times |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | cbrt-unprod |
| 3× | prod-exp |
| 3× | associate-*l* |
| 2× | associate-/l/ |
| 2× | associate-/l* |
| 2× | *-commutative |
| 2× | associate-/r/ |
| 2× | associate-*l/ |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | flip-- |
| 1× | pow-prod-up |
| 1× | pow-prod-down |
| 1× | flip3-- |
| 1× | pow-plus |
| 1× | distribute-lft-in |
| 1× | distribute-rgt-in |
| 1× | pow2 |
| 40.0ms | (/ (* i (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 22.0ms | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 16.0ms | (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha))) |
| 3.0ms | (* i (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha)))) |
| 762.0ms | (/ (* i (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 178.0ms | (* i (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha)))) |
| 127.0ms | (/ (* (fma i (+ i (+ beta alpha)) (* alpha beta)) (/ (+ i (+ beta alpha)) (fma 2 i (+ beta alpha)))) (fma 2 i (+ beta alpha))) |
| 57.0ms | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
| 921.0ms | (/ i (* (cbrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) (cbrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))) |
| 741.0ms | (* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) |
| 608.0ms | (sqrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)) |
| 588.0ms | (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0) |
| 555.0ms | (/ i (sqrt (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 32.2b
Found 4 expressions with local error:
| 35.2b | (sqrt (fma (+ (fma i 2 beta) alpha) (+ (fma i 2 beta) alpha) (- 1.0))) |
| 35.2b | (sqrt (fma (+ (fma i 2 beta) alpha) (+ (fma i 2 beta) alpha) (- 1.0))) |
| 26.5b | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (/ (+ (+ alpha i) beta) (+ (fma i 2 beta) alpha)) (/ i (+ (fma i 2 beta) alpha))))) |
| 26.5b | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (/ (+ (+ alpha i) beta) (+ (fma i 2 beta) alpha)) (/ i (+ (fma i 2 beta) alpha))))) |
| 8× | sqrt-prod |
| 8× | associate-*r/ |
| 8× | add-sqr-sqrt |
| 6× | add-cube-cbrt |
| 6× | sqrt-div |
| 6× | *-un-lft-identity |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | pow1/2 |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 2× | associate-*l/ |
| 2× | rem-sqrt-square |
| 2× | frac-times |
| 4.0ms | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (/ (+ (+ alpha i) beta) (+ (fma i 2 beta) alpha)) (/ i (+ (fma i 2 beta) alpha))))) |
| 4.0ms | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (/ (+ (+ alpha i) beta) (+ (fma i 2 beta) alpha)) (/ i (+ (fma i 2 beta) alpha))))) |
| 1.0ms | (sqrt (fma (+ (fma i 2 beta) alpha) (+ (fma i 2 beta) alpha) (- 1.0))) |
| 1.0ms | (sqrt (fma (+ (fma i 2 beta) alpha) (+ (fma i 2 beta) alpha) (- 1.0))) |
| 576.0ms | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (/ (+ (+ alpha i) beta) (+ (fma i 2 beta) alpha)) (/ i (+ (fma i 2 beta) alpha))))) |
| 548.0ms | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (/ (+ (+ alpha i) beta) (+ (fma i 2 beta) alpha)) (/ i (+ (fma i 2 beta) alpha))))) |
| 130.0ms | (sqrt (fma (+ (fma i 2 beta) alpha) (+ (fma i 2 beta) alpha) (- 1.0))) |
| 103.0ms | (sqrt (fma (+ (fma i 2 beta) alpha) (+ (fma i 2 beta) alpha) (- 1.0))) |
| 656.0ms | (+ (* 2 (* (sqrt -1.0) (* i beta))) (+ (sqrt (- 1.0)) (* 2 (* (sqrt -1.0) (pow i 2))))) |
| 639.0ms | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (+ (+ alpha i) beta) (/ i (+ (fma i 2 beta) alpha))))) |
| 615.0ms | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (+ (+ alpha i) beta) (/ i (+ (fma i 2 beta) alpha))))) |
| 513.0ms | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (+ (+ alpha i) beta) i))) |
| 473.0ms | (sqrt (* (fma (+ (+ alpha i) beta) i (* beta alpha)) (* (+ (+ alpha i) beta) i))) |
10 alts after pruning (9 fresh and 1 done)
Merged error: 32.2b
43.1% (1.6b remaining)
Error of 37.5b against oracle of 35.9b and baseline of 38.7b
| 8000× | (pre true 80) |
| 8000× | (body real 80) |