


Bits error versus alpha



Bits error versus beta
Results
if (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) < 0.08333335457534242Initial program 0.1
if 0.08333335457534242 < (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) Initial program 53.9
Taylor expanded around inf 24.6
Final simplification1.7
herbie shell --seed 2018362 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))
Time bar (total: 8.7m)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 3.2b
Found 4 expressions with local error:
| 3.1b | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 0.1b | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 0.0b | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 0.0b | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
4 calls. Slowest were:
| 68.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 67.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 33.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
4 calls. Slowest were:
| 106.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 91.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 57.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 14.0ms | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
526 calls. Slowest were:
| 1.1s | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) |
| 1.1s | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) |
| 1.1s | (/ (/ (/ (sqrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 15.2b | (/ (* (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) (cbrt (+ (fma beta alpha alpha) (+ beta 1.0)))) (/ (+ (+ alpha beta) (* 2 1)) (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))))) |
| 3.4b | (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) |
| 3.4b | (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) |
| 3.4b | (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) |
4 calls. Slowest were:
| 62.0ms | (/ (* (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) (cbrt (+ (fma beta alpha alpha) (+ beta 1.0)))) (/ (+ (+ alpha beta) (* 2 1)) (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))))) |
| 11.0ms | (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) |
| 4.0ms | (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) |
4 calls. Slowest were:
| 1.2s | (/ (* (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) (cbrt (+ (fma beta alpha alpha) (+ beta 1.0)))) (/ (+ (+ alpha beta) (* 2 1)) (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))))) |
| 67.0ms | (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) |
| 59.0ms | (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) |
| 47.0ms | (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) |
282 calls. Slowest were:
| 853.0ms | (cbrt (+ (pow (+ (+ alpha beta) (* beta alpha)) 3) (pow 1.0 3))) |
| 746.0ms | (cbrt (- (* (+ (+ alpha beta) (* beta alpha)) (+ (+ alpha beta) (* beta alpha))) (* 1.0 1.0))) |
| 727.0ms | (/ (cbrt (+ (fma beta alpha alpha) (+ beta 1.0))) (/ (+ (+ alpha beta) (* 2 1)) (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 3.1b | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
| 3.1b | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
| 0.6b | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) (sqrt (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 0.6b | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) (sqrt (+ (+ 1.0 alpha) (+ 2 beta)))) |
4 calls. Slowest were:
| 32.0ms | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) (sqrt (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 31.0ms | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) (sqrt (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 19.0ms | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
4 calls. Slowest were:
| 179.0ms | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) (sqrt (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 165.0ms | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) (sqrt (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 63.0ms | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
| 46.0ms | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
2004 calls. Slowest were:
| 952.0ms | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ (pow 2 3) (pow (+ beta alpha) 3))) 1)) (sqrt 1)) |
| 700.0ms | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ (pow 2 3) (pow (+ beta alpha) 3))) 1)) (sqrt 1)) |
| 698.0ms | (/ (sqrt (/ (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ (pow 2 3) (pow (+ beta alpha) 3))) 1)) (sqrt 1)) |
7 alts after pruning (4 fresh and 3 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 3.4b | (cbrt (+ (+ alpha 1.0) (fma beta alpha beta))) |
| 3.4b | (cbrt (+ (+ 1.0 alpha) (fma beta alpha beta))) |
| 3.1b | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
| 0.7b | (cbrt (+ beta (+ alpha 2))) |
4 calls. Slowest were:
| 11.0ms | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
| 2.0ms | (cbrt (+ (+ alpha 1.0) (fma beta alpha beta))) |
| 2.0ms | (cbrt (+ (+ 1.0 alpha) (fma beta alpha beta))) |
4 calls. Slowest were:
| 61.0ms | (cbrt (+ beta (+ alpha 2))) |
| 42.0ms | (cbrt (+ (+ 1.0 alpha) (fma beta alpha beta))) |
| 42.0ms | (cbrt (+ (+ alpha 1.0) (fma beta alpha beta))) |
| 38.0ms | (/ (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ 2 (+ beta alpha))) |
64 calls. Slowest were:
| 426.0ms | (cbrt (- (* beta beta) (* (+ alpha 2) (+ alpha 2)))) |
| 264.0ms | (cbrt (+ (pow beta 3) (pow (+ alpha 2) 3))) |
| 203.0ms | (/ (* (* (+ (+ 1.0 alpha) (fma beta alpha beta)) (+ (+ 1.0 alpha) (fma beta alpha beta))) (+ (+ 1.0 alpha) (fma beta alpha beta))) (* (* (+ 2 (+ beta alpha)) (+ 2 (+ beta alpha))) (+ 2 (+ beta alpha)))) |
7 alts after pruning (3 fresh and 4 done)
Merged error: 0.4b
73.7% (0.7b remaining)
Error of 1.7b against oracle of 1.0b and baseline of 3.5b