


Bits error versus alpha



Bits error versus beta



Bits error versus i
if beta < 1.6738311742745447e+146Initial program 49.7
rmApplied add-sqr-sqrt49.7
Applied times-frac34.8
Applied times-frac34.8
Simplified34.8
Simplified34.8
rmApplied *-un-lft-identity34.8
Applied add-sqr-sqrt34.8
Applied times-frac34.8
Simplified34.8
Simplified34.8
if 1.6738311742745447e+146 < beta Initial program 62.5
rmApplied *-un-lft-identity62.5
Applied times-frac54.6
Applied times-frac54.6
Simplified54.6
Simplified54.6
Taylor expanded around -inf 48.8
Final simplification37.3
herbie shell --seed 2019007 +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: 1.9m)Debug log
1 calls. Slowest were:
| 265.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: 52.3b
Found 4 expressions with local error:
| 45.9b | (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) |
| 36.9b | (/ (/ (* (* 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))) |
4 calls. Slowest were:
| 73.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)) |
| 38.0ms | (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) |
| 23.0ms | (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) |
4 calls. Slowest were:
| 729.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)) |
| 192.0ms | (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) |
| 108.0ms | (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) |
| 44.0ms | (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) |
191 calls. Slowest were:
| 1.0s | (* (* (* (* i (+ (+ alpha beta) i)) (* i (+ (+ alpha beta) i))) (* i (+ (+ alpha beta) i))) (* (* (+ (* beta alpha) (* i (+ (+ alpha beta) i))) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (+ (* beta alpha) (* i (+ (+ alpha beta) i))))) |
| 902.0ms | (* (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 i) (* 2 i)))) |
| 890.0ms | (* (* i (+ (+ alpha beta) i)) (* i (+ (+ alpha beta) i))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 36.8b
Found 4 expressions with local error:
| 38.4b | (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))) |
| 38.4b | (sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
| 35.8b | (/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta))) |
| 35.5b | (/ (fma (+ alpha beta) i (* i i)) (fma 2 i (+ alpha beta))) |
4 calls. Slowest were:
| 3.0ms | (/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta))) |
| 3.0ms | (/ (fma (+ alpha beta) i (* i i)) (fma 2 i (+ alpha beta))) |
| 1.0ms | (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))) |
4 calls. Slowest were:
| 127.0ms | (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))) |
| 98.0ms | (sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
| 73.0ms | (/ (fma (+ alpha beta) i (* i i)) (fma 2 i (+ alpha beta))) |
| 70.0ms | (/ (fma (+ i (+ alpha beta)) i (* beta alpha)) (fma i 2 (+ alpha beta))) |
70 calls. Slowest were:
| 625.0ms | (sqrt (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0)))) |
| 623.0ms | (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))) |
| 613.0ms | (sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 36.8b
Found 4 expressions with local error:
| 38.4b | (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))) |
| 38.4b | (sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
| 35.6b | (sqrt (* (+ alpha i) (+ i beta))) |
| 35.6b | (sqrt (* (+ alpha i) (+ i beta))) |
4 calls. Slowest were:
| 4.0ms | (sqrt (* (+ alpha i) (+ i beta))) |
| 3.0ms | (sqrt (* (+ alpha i) (+ i beta))) |
| 2.0ms | (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))) |
4 calls. Slowest were:
| 138.0ms | (sqrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))) |
| 89.0ms | (sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
| 59.0ms | (sqrt (* (+ alpha i) (+ i beta))) |
| 46.0ms | (sqrt (* (+ alpha i) (+ i beta))) |
38 calls. Slowest were:
| 625.0ms | (sqrt (* (cbrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) (cbrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))))) |
| 609.0ms | (sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
| 607.0ms | (sqrt (* (cbrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))) (cbrt (fma (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)) (- 1.0))))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 36.8b
Found 4 expressions with local error:
| 35.8b | (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) |
| 35.5b | (/ (fma i (+ alpha i) (* i beta)) (+ (fma i 2 beta) alpha)) |
| 30.6b | (/ (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
| 4.8b | (* (/ (fma i (+ alpha i) (* i beta)) (+ (fma i 2 beta) alpha)) (/ (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))) |
4 calls. Slowest were:
| 29.0ms | (* (/ (fma i (+ alpha i) (* i beta)) (+ (fma i 2 beta) alpha)) (/ (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))) |
| 12.0ms | (/ (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
| 8.0ms | (/ (fma i (+ alpha i) (* i beta)) (+ (fma i 2 beta) alpha)) |
4 calls. Slowest were:
| 854.0ms | (* (/ (fma i (+ alpha i) (* i beta)) (+ (fma i 2 beta) alpha)) (/ (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))) |
| 500.0ms | (/ (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) |
| 82.0ms | (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) |
| 61.0ms | (/ (fma i (+ alpha i) (* i beta)) (+ (fma i 2 beta) alpha)) |
236 calls. Slowest were:
| 882.0ms | (/ (/ 1 (sqrt (fma i 2 (+ alpha beta)))) (sqrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))) |
| 679.0ms | (* (fma i (+ alpha i) (* i beta)) (/ (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma i 2 (+ alpha beta))) (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0)))) |
| 643.0ms | (/ (/ 1 1) (* (cbrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))) (cbrt (fma (fma i 2 (+ alpha beta)) (fma i 2 (+ alpha beta)) (- 1.0))))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 36.8b
40.1% (1.6b remaining)
Error of 37.3b against oracle of 35.8b and baseline of 38.4b