


Bits error versus alpha



Bits error versus beta



Bits error versus i
Initial program 24.0
Simplified12.5
rmApplied div-inv12.5
rmApplied add-cbrt-cube12.5
rmApplied add-log-exp12.5
rmApplied add-exp-log12.5
Final simplification12.5
herbie shell --seed 2019007 +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: 24.9s)Debug log
1 calls. Slowest were:
| 679.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: 11.9b
Found 3 expressions with local error:
| 1.5b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 0.0b | (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 0.0b | (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) |
3 calls. Slowest were:
| 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) |
3 calls. Slowest were:
| 122.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) 1.0) |
| 56.0ms | (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 53.0ms | (/ (+ beta alpha) (+ (fma 2 i alpha) beta)) |
75 calls. Slowest were:
| 430.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))) |
| 171.0ms | (/ (* (* (+ beta alpha) (+ beta alpha)) (+ beta alpha)) (* (* (+ (fma 2 i alpha) beta) (+ (fma 2 i alpha) beta)) (+ (fma 2 i alpha) beta))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 11.6b
Found 4 expressions with local error:
| 2.7b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 0.2b | (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) |
| 0.0b | (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 0.0b | (/ 1 (+ (fma 2 i alpha) beta)) |
4 calls. Slowest were:
| 6.0ms | (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 5.0ms | (/ 1 (+ (fma 2 i alpha) beta)) |
| 5.0ms | (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) |
4 calls. Slowest were:
| 104.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 79.0ms | (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) |
| 63.0ms | (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) |
| 37.0ms | (/ 1 (+ (fma 2 i alpha) beta)) |
75 calls. Slowest were:
| 623.0ms | (* (- (* beta beta) (* alpha alpha)) (/ 1 (+ (fma 2 i alpha) beta))) |
| 457.0ms | (+ (* (+ beta 2.0) (+ beta 2.0)) (- (* (fma 2 i alpha) (fma 2 i alpha)) (* (+ beta 2.0) (fma 2 i alpha)))) |
| 239.0ms | (* (+ (* beta beta) (- (* alpha alpha) (* beta alpha))) (+ (fma 2 i alpha) beta)) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 11.6b
Found 4 expressions with local error:
| 2.7b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 2.7b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 2.7b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 0.2b | (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) |
4 calls. Slowest were:
| 9.0ms | (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) |
| 0.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 0.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
4 calls. Slowest were:
| 112.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 110.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 95.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 60.0ms | (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) |
32 calls. Slowest were:
| 686.0ms | (* (- (* beta beta) (* alpha alpha)) (/ 1 (+ (fma 2 i alpha) beta))) |
| 335.0ms | (* (+ (* beta beta) (- (* alpha alpha) (* beta alpha))) (+ (fma 2 i alpha) beta)) |
| 234.0ms | (- (+ (* 4.0 (/ 1 (pow beta 2))) 2.0) (* 2.0 (/ 1 beta))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 11.6b
Found 4 expressions with local error:
| 2.7b | (log (exp (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0))) |
| 2.7b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 2.7b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 2.7b | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
4 calls. Slowest were:
| 2.0ms | (log (exp (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0))) |
| 0.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 0.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
4 calls. Slowest were:
| 145.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 99.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 97.0ms | (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0) |
| 93.0ms | (log (exp (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0))) |
20 calls. Slowest were:
| 311.0ms | (log (exp (* (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta)))))) |
| 217.0ms | (log (* (cbrt (exp (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0))) (cbrt (exp (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0))))) |
| 203.0ms | (sqrt (fma (/ (- beta alpha) (+ (+ beta 2.0) (fma 2 i alpha))) (* (+ beta alpha) (/ 1 (+ (fma 2 i alpha) beta))) 1.0)) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 11.6b
0% (0.3b remaining)
Error of 12.5b against oracle of 12.2b and baseline of 12.5b