


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.09016961351735779Initial program 0.1
rmApplied expm1-log1p-u0.1
if 0.09016961351735779 < (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) Initial program 63.0
Taylor expanded around -inf 23.1
Final simplification1.4
herbie shell --seed 2019008 +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: 7.4m)Debug log
1 calls. Slowest were:
| 686.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 3.5b
Found 4 expressions with local error:
| 3.4b | (/ (+ (+ (+ 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) (* 2 1)) 1.0) |
| 0.0b | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
4 calls. Slowest were:
| 65.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 62.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 58.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
4 calls. Slowest were:
| 78.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 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))) |
| 9.0ms | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
526 calls. Slowest were:
| 1.2s | (/ (/ (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 973.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) |
| 946.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 0.5b
Found 4 expressions with local error:
| 3.4b | (/ (+ (+ (+ 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 | (log1p (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))) |
| 0.0b | (expm1 (log1p (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))) |
4 calls. Slowest were:
| 109.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 60.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 0.0ms | (log1p (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))) |
4 calls. Slowest were:
| 211.0ms | (expm1 (log1p (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))) |
| 183.0ms | (log1p (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0))) |
| 123.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 49.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
411 calls. Slowest were:
| 1.1s | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (- (* (+ alpha beta) (+ alpha beta)) (* (* 2 1) (* 2 1)))) 1) |
| 966.0ms | (/ (/ (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (sqrt (+ (+ alpha beta) (* 2 1)))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 960.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (pow (+ alpha beta) 3) (pow (* 2 1) 3))) 1) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 0.5b
Found 4 expressions with local error:
| 3.4b | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) |
| 3.4b | (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) |
| 0.1b | (* (sqrt (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) (+ beta (+ alpha 2)))) (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 0.1b | (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta))) |
4 calls. Slowest were:
| 46.0ms | (* (sqrt (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) (+ beta (+ alpha 2)))) (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 30.0ms | (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta))) |
| 21.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) |
4 calls. Slowest were:
| 240.0ms | (* (sqrt (/ (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) (+ beta (+ alpha 2)))) (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta)))) |
| 82.0ms | (/ (sqrt (/ (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) (+ (+ 2 beta) alpha))) (+ (+ 1.0 alpha) (+ 2 beta))) |
| 72.0ms | (/ (+ (fma beta alpha beta) (+ 1.0 alpha)) (+ beta (+ alpha 2))) |
| 64.0ms | (/ (+ (+ beta 1.0) (fma beta alpha alpha)) (+ (+ 2 beta) alpha)) |
994 calls. Slowest were:
| 582.0ms | (* (+ (* 1.0 1.0) (- (* alpha alpha) (* 1.0 alpha))) (+ (* 2 2) (- (* beta beta) (* 2 beta)))) |
| 527.0ms | (* (+ (* 1.0 1.0) (- (* alpha alpha) (* 1.0 alpha))) (+ (* 2 2) (- (* beta beta) (* 2 beta)))) |
| 519.0ms | (/ (sqrt (+ (+ beta 1.0) (fma beta alpha alpha))) (cbrt (+ (+ 2 beta) alpha))) |
8 alts after pruning (6 fresh and 2 done)
Merged error: 0.5b
Found 4 expressions with local error:
| 3.3b | (sqrt (+ (+ 1.0 alpha) (fma beta alpha beta))) |
| 3.3b | (sqrt (+ (+ beta 1.0) (fma alpha beta alpha))) |
| 1.9b | (/ (/ (sqrt (+ (+ 1.0 alpha) (fma beta alpha beta))) (sqrt (+ (+ beta 2) alpha))) (* (+ (+ beta 2) alpha) (sqrt (+ (+ beta 2) (+ 1.0 alpha))))) |
| 0.6b | (/ (/ (sqrt (+ (+ beta 1.0) (fma alpha beta alpha))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) (sqrt (+ (+ beta 2) alpha))) |
4 calls. Slowest were:
| 27.0ms | (/ (/ (sqrt (+ (+ 1.0 alpha) (fma beta alpha beta))) (sqrt (+ (+ beta 2) alpha))) (* (+ (+ beta 2) alpha) (sqrt (+ (+ beta 2) (+ 1.0 alpha))))) |
| 21.0ms | (/ (/ (sqrt (+ (+ beta 1.0) (fma alpha beta alpha))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) (sqrt (+ (+ beta 2) alpha))) |
| 4.0ms | (sqrt (+ (+ 1.0 alpha) (fma beta alpha beta))) |
4 calls. Slowest were:
| 83.0ms | (/ (/ (sqrt (+ (+ beta 1.0) (fma alpha beta alpha))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) (sqrt (+ (+ beta 2) alpha))) |
| 71.0ms | (/ (/ (sqrt (+ (+ 1.0 alpha) (fma beta alpha beta))) (sqrt (+ (+ beta 2) alpha))) (* (+ (+ beta 2) alpha) (sqrt (+ (+ beta 2) (+ 1.0 alpha))))) |
| 32.0ms | (sqrt (+ (+ 1.0 alpha) (fma beta alpha beta))) |
| 25.0ms | (sqrt (+ (+ beta 1.0) (fma alpha beta alpha))) |
981 calls. Slowest were:
| 516.0ms | (/ (sqrt (* (+ (* beta beta) (- (* 1.0 1.0) (* beta 1.0))) (+ (* alpha alpha) (- (* 2 2) (* alpha 2))))) (sqrt (+ (+ beta 2) alpha))) |
| 384.0ms | (/ (/ (+ (+ beta 1.0) (fma alpha beta alpha)) (+ (+ beta 1.0) (+ alpha 2))) (+ (+ beta 2) alpha)) |
| 376.0ms | (/ (/ (cbrt (sqrt (+ (+ 1.0 alpha) (fma beta alpha beta)))) (sqrt (+ (+ beta 2) alpha))) (sqrt (+ (+ beta 2) (+ 1.0 alpha)))) |
8 alts after pruning (5 fresh and 3 done)
Merged error: 0.5b
95.1% (0.1b remaining)
Error of 1.4b against oracle of 1.3b and baseline of 3.6b