


Bits error versus alpha



Bits error versus beta



Bits error versus i
Initial program 23.2
Simplified12.0
rmApplied div-inv12.0
rmApplied add-sqr-sqrt12.1
Applied associate-*r*12.1
rmApplied add-cbrt-cube12.1
Final simplification12.1
herbie shell --seed 2019010 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1) (> beta -1) (> i 0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))
Time bar (total: 36.2s)Debug log
| 634.0ms | (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 12.3b
Found 3 expressions with local error:
| 1.7b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 0.0b | (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) |
| 0.0b | (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 28× | *-un-lft-identity |
| 21× | times-frac |
| 20× | add-cube-cbrt |
| 20× | add-sqr-sqrt |
| 7× | add-exp-log |
| 7× | add-cbrt-cube |
| 7× | associate-/r* |
| 6× | associate-/l* |
| 4× | associate-/l/ |
| 4× | distribute-lft-out |
| 4× | associate-/r/ |
| 3× | add-log-exp |
| 3× | log1p-expm1-u |
| 3× | flip-+ |
| 3× | flip3-+ |
| 3× | pow1 |
| 3× | expm1-log1p-u |
| 2× | div-inv |
| 2× | div-exp |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | cbrt-undiv |
| 1× | flip-- |
| 1× | fma-udef |
| 1× | div-sub |
| 1× | flip3-- |
| 12.0ms | (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 11.0ms | (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) |
| 0.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 136.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 67.0ms | (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 39.0ms | (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) |
| 353.0ms | (+ (* (+ beta 2.0) (+ beta 2.0)) (- (* (fma 2 i alpha) (fma 2 i alpha)) (* (+ beta 2.0) (fma 2 i alpha)))) |
| 189.0ms | (- (+ (* 4.0 (/ 1 (pow beta 2))) 2.0) (* 2.0 (/ 1 beta))) |
| 179.0ms | (- (+ (* 4.0 (/ 1 (pow beta 2))) 2.0) (* 2.0 (/ 1 beta))) |
| 160.0ms | (/ (* (* (- beta alpha) (- beta alpha)) (- beta alpha)) (* (* (+ (+ beta 2.0) (fma 2 i alpha)) (+ (+ beta 2.0) (fma 2 i alpha))) (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 144.0ms | (- (* 0.5 beta) (+ (* 0.25 (pow beta 2)) (* 0.5 alpha))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 12.1b
Found 4 expressions with local error:
| 3.6b | (fma (* (- beta alpha) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 0.2b | (* (- beta alpha) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 0.0b | (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) |
| 0.0b | (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))) |
| 17× | *-un-lft-identity |
| 15× | add-cube-cbrt |
| 15× | add-sqr-sqrt |
| 11× | add-exp-log |
| 9× | times-frac |
| 8× | add-cbrt-cube |
| 7× | associate-/r* |
| 7× | pow1 |
| 6× | associate-/r/ |
| 6× | associate-*r* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | flip-+ |
| 4× | flip3-+ |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | div-inv |
| 3× | associate-*l* |
| 2× | associate-/l/ |
| 2× | flip-- |
| 2× | prod-exp |
| 2× | associate-*l/ |
| 2× | flip3-- |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | rec-exp |
| 2× | frac-times |
| 1× | inv-pow |
| 1× | distribute-lft-out |
| 1× | pow-flip |
| 1× | fma-udef |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | un-div-inv |
| 1× | associate-*r/ |
| 1× | pow-prod-down |
| 1× | div-exp |
| 1× | cbrt-undiv |
| 5.0ms | (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) |
| 5.0ms | (* (- beta alpha) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 3.0ms | (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))) |
| 0.0ms | (fma (* (- beta alpha) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 126.0ms | (fma (* (- beta alpha) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 77.0ms | (* (- beta alpha) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 65.0ms | (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) |
| 52.0ms | (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))) |
| 436.0ms | (+ (* (+ beta 2.0) (+ beta 2.0)) (- (* (fma 2 i alpha) (fma 2 i alpha)) (* (+ beta 2.0) (fma 2 i alpha)))) |
| 428.0ms | (* (* (* (- beta alpha) (- beta alpha)) (- beta alpha)) (* (* (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 362.0ms | (* (+ beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 357.0ms | (+ (* (+ beta 2.0) (+ beta 2.0)) (- (* (fma 2 i alpha) (fma 2 i alpha)) (* (+ beta 2.0) (fma 2 i alpha)))) |
| 241.0ms | (* (- (pow beta 3) (pow alpha 3)) (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 12.1b
Found 4 expressions with local error:
| 7.2b | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 0.3b | (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 0.3b | (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 0.1b | (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 18× | sqrt-prod |
| 18× | associate-*r* |
| 16× | sqrt-div |
| 11× | add-exp-log |
| 11× | associate-*l/ |
| 11× | add-cbrt-cube |
| 11× | pow1 |
| 11× | frac-times |
| 11× | add-sqr-sqrt |
| 10× | add-cube-cbrt |
| 10× | *-un-lft-identity |
| 6× | flip-- |
| 6× | associate-/r/ |
| 6× | flip3-- |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | associate-*r/ |
| 4× | prod-exp |
| 4× | pow-prod-down |
| 4× | associate-*l* |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | flip-+ |
| 3× | flip3-+ |
| 2× | *-commutative |
| 1× | fma-udef |
| 1× | pow1/2 |
| 1× | rem-sqrt-square |
| 14.0ms | (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 11.0ms | (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 3.0ms | (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 0.0ms | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 126.0ms | (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 95.0ms | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 79.0ms | (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 65.0ms | (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 867.0ms | (* (* (- (* beta beta) (* alpha alpha)) (sqrt 1)) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 625.0ms | (* (* (* (* (- beta alpha) (- beta alpha)) (- beta alpha)) (* (* (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))))) (* (* (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))))) |
| 549.0ms | (* (* (+ beta alpha) (sqrt (+ (+ beta 2.0) (fma 2 i alpha)))) (sqrt (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 470.0ms | (sqrt (+ (* (+ beta 2.0) (+ beta 2.0)) (- (* (fma 2 i alpha) (fma 2 i alpha)) (* (+ beta 2.0) (fma 2 i alpha))))) |
| 423.0ms | (sqrt (+ (* (+ beta 2.0) (+ beta 2.0)) (- (* (fma 2 i alpha) (fma 2 i alpha)) (* (+ beta 2.0) (fma 2 i alpha))))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 12.1b
Found 4 expressions with local error:
| 7.2b | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 7.2b | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 7.2b | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 0.3b | (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 12× | sqrt-div |
| 9× | add-exp-log |
| 9× | associate-*l/ |
| 9× | associate-*r* |
| 9× | add-cbrt-cube |
| 9× | pow1 |
| 9× | frac-times |
| 6× | sqrt-prod |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | flip-- |
| 4× | log1p-expm1-u |
| 4× | flip3-- |
| 4× | expm1-log1p-u |
| 3× | fma-udef |
| 3× | cbrt-unprod |
| 3× | associate-*r/ |
| 3× | prod-exp |
| 3× | pow-prod-down |
| 2× | associate-/r/ |
| 1× | div-inv |
| 1× | flip-+ |
| 1× | *-commutative |
| 1× | associate-*l* |
| 1× | flip3-+ |
| 13.0ms | (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 0.0ms | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 0.0ms | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 0.0ms | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 156.0ms | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 136.0ms | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 122.0ms | (fma (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 51.0ms | (* (* (- beta alpha) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 667.0ms | (* (* (* (* (- beta alpha) (- beta alpha)) (- beta alpha)) (* (* (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))))) (* (* (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha)))))) |
| 517.0ms | (* (* (+ beta alpha) (sqrt (+ (+ beta 2.0) (fma 2 i alpha)))) (sqrt (+ (+ beta 2.0) (fma 2 i alpha)))) |
| 405.0ms | (sqrt (+ (* (+ beta 2.0) (+ beta 2.0)) (- (* (fma 2 i alpha) (fma 2 i alpha)) (* (+ beta 2.0) (fma 2 i alpha))))) |
| 391.0ms | (* (* (- (* beta beta) (* alpha alpha)) (sqrt 1)) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) |
| 372.0ms | (* (* (- (* beta beta) (* alpha alpha)) (sqrt (/ 1 (+ (+ beta 2.0) (fma 2 i alpha))))) (sqrt 1)) |
14 alts after pruning (13 fresh and 1 done)
Merged error: 12.1b
0% (0.3b remaining)
Error of 12.1b against oracle of 11.8b and baseline of 12.1b