


Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) < -0.9999944522127678Initial program 61.8
Taylor expanded around -inf 32.1
Simplified32.1
if -0.9999944522127678 < (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) Initial program 12.1
rmApplied *-un-lft-identity12.1
Applied *-un-lft-identity12.1
Applied times-frac0.0
Applied times-frac0.0
Simplified0.0
rmApplied add-cube-cbrt0.2
Applied *-un-lft-identity0.2
Applied add-cube-cbrt0.1
Applied times-frac0.1
Applied times-frac0.1
Applied associate-*r*0.1
Final simplification7.2
herbie shell --seed 2019010
(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: 1.3m)Debug log
| 561.0ms | (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 23.6b
Found 3 expressions with local error:
| 20.2b | (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) |
| 1.6b | (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) |
| 0.1b | (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 42× | times-frac |
| 23× | add-cube-cbrt |
| 23× | *-un-lft-identity |
| 23× | add-sqr-sqrt |
| 17× | add-exp-log |
| 17× | add-cbrt-cube |
| 12× | associate-/r/ |
| 10× | associate-/l* |
| 10× | flip-+ |
| 10× | flip3-+ |
| 9× | associate-/l/ |
| 7× | div-exp |
| 7× | cbrt-undiv |
| 6× | div-inv |
| 6× | associate-/r* |
| 4× | frac-times |
| 3× | add-log-exp |
| 3× | flip-- |
| 3× | flip3-- |
| 3× | pow1 |
| 2× | cbrt-unprod |
| 2× | associate-*r/ |
| 2× | prod-exp |
| 2× | associate-*l/ |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | +-commutative |
| 85.0ms | (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) |
| 46.0ms | (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 14.0ms | (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) |
| 284.0ms | (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) |
| 188.0ms | (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 65.0ms | (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) |
| 595.0ms | (/ (/ (* (* (* (+ alpha beta) (- beta alpha)) (* (+ alpha beta) (- beta alpha))) (* (+ alpha beta) (- beta alpha))) (* (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (+ alpha beta) (* 2 i)))) (* (* (+ (+ (+ alpha beta) (* 2 i)) 2.0) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 526.0ms | (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 491.0ms | (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 440.0ms | (/ (/ (* (+ alpha beta) (- beta alpha)) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) 1) |
| 439.0ms | (/ (/ 1 (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 5.9b
Found 4 expressions with local error:
| 3.6b | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 2.6b | (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 0.0b | (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 0.0b | (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) |
| 162× | times-frac |
| 94× | add-cube-cbrt |
| 94× | *-un-lft-identity |
| 94× | add-sqr-sqrt |
| 51× | associate-*r* |
| 20× | associate-/r/ |
| 20× | add-exp-log |
| 20× | add-cbrt-cube |
| 18× | associate-/l* |
| 13× | flip-+ |
| 13× | flip3-+ |
| 10× | div-inv |
| 7× | div-exp |
| 7× | cbrt-undiv |
| 6× | associate-/r* |
| 6× | pow1 |
| 4× | add-log-exp |
| 3× | associate-/l/ |
| 3× | cbrt-unprod |
| 3× | prod-exp |
| 3× | associate-*l* |
| 3× | div-sub |
| 2× | associate-*l/ |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | frac-times |
| 1× | flip-- |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | pow-prod-down |
| 1× | flip3-- |
| 1× | +-commutative |
| 24.0ms | (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 20.0ms | (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 12.0ms | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 5.0ms | (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) |
| 192.0ms | (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 173.0ms | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 152.0ms | (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 68.0ms | (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) |
| 868.0ms | (+ (log (+ beta alpha)) (log (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))) |
| 602.0ms | (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 582.0ms | (* (- (* beta beta) (* alpha alpha)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 507.0ms | (* (+ (pow beta 3) (pow alpha 3)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 495.0ms | (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 5.9b
Found 4 expressions with local error:
| 1.6b | (+ (/ (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) |
| 0.1b | (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) |
| 0.1b | (/ (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 0.0b | (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) |
| 22× | add-cube-cbrt |
| 22× | *-un-lft-identity |
| 22× | add-sqr-sqrt |
| 21× | times-frac |
| 20× | add-exp-log |
| 20× | add-cbrt-cube |
| 15× | associate-*r* |
| 8× | flip-+ |
| 8× | flip3-+ |
| 7× | associate-/l/ |
| 6× | associate-/r/ |
| 6× | div-exp |
| 6× | associate-/r* |
| 6× | cbrt-undiv |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | associate-/l* |
| 4× | cbrt-unprod |
| 4× | prod-exp |
| 4× | associate-*l/ |
| 4× | frac-times |
| 3× | div-inv |
| 3× | associate-*l* |
| 2× | associate-*r/ |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | flip-- |
| 1× | *-commutative |
| 1× | pow-prod-down |
| 1× | div-sub |
| 1× | flip3-- |
| 1× | +-commutative |
| 57.0ms | (+ (/ (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) |
| 27.0ms | (/ (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 8.0ms | (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) |
| 5.0ms | (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) |
| 174.0ms | (/ (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 158.0ms | (+ (/ (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) |
| 58.0ms | (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) |
| 47.0ms | (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) |
| 427.0ms | (/ (* (* (* (+ beta alpha) (+ beta alpha)) (+ beta alpha)) (* (* (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (* (* (+ (+ (+ alpha beta) (* 2 i)) 2.0) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 394.0ms | (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 374.0ms | (- (+ (log (+ beta alpha)) (log (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (log (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 347.0ms | (/ (* (* (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i)))) (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (* (+ beta alpha) (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))))) (* (* (+ (+ (+ alpha beta) (* 2 i)) 2.0) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 326.0ms | (* (* (* (+ beta alpha) (+ beta alpha)) (+ beta alpha)) (/ (* (* (- beta alpha) (- beta alpha)) (- beta alpha)) (* (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) (+ (+ alpha beta) (* 2 i))))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 5.9b
Found 4 expressions with local error:
| 3.6b | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 3.6b | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 3.6b | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 2.6b | (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 72× | times-frac |
| 51× | associate-*r* |
| 42× | add-cube-cbrt |
| 42× | *-un-lft-identity |
| 42× | add-sqr-sqrt |
| 13× | add-exp-log |
| 13× | add-cbrt-cube |
| 9× | flip-+ |
| 9× | flip3-+ |
| 8× | associate-/r/ |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | div-inv |
| 3× | cbrt-unprod |
| 3× | prod-exp |
| 3× | associate-*l* |
| 3× | div-exp |
| 3× | +-commutative |
| 3× | cbrt-undiv |
| 2× | associate-*l/ |
| 2× | frac-times |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | pow-prod-down |
| 23.0ms | (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 21.0ms | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 15.0ms | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 13.0ms | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 171.0ms | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 170.0ms | (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 142.0ms | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 140.0ms | (+ (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) 1.0) |
| 852.0ms | (* (- (* beta beta) (* alpha alpha)) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
| 515.0ms | (+ (log (+ beta alpha)) (log (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)))) |
| 494.0ms | (/ (/ (sqrt (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 474.0ms | (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) |
| 465.0ms | (* (+ beta alpha) (/ (/ (- beta alpha) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 5.9b
75.6% (1.6b remaining)
Error of 7.2b against oracle of 5.6b and baseline of 12.1b