


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
Initial simplification53.9
Taylor expanded around 0 19.6
Simplified19.6
Final simplification1.4
herbie shell --seed 2018362
(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: 5.5m)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:
| 82.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 47.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 40.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
4 calls. Slowest were:
| 108.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 106.0ms | (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) |
| 68.0ms | (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) |
| 15.0ms | (+ (+ (+ alpha beta) (* 2 1)) 1.0) |
524 calls. Slowest were:
| 904.0ms | (/ (/ (/ (sqrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 866.0ms | (/ (/ (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)) |
| 749.0ms | (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (cbrt (+ (+ alpha beta) (* 2 1)))) (+ (+ alpha beta) (* 2 1))) (sqrt (+ (+ (+ alpha beta) (* 2 1)) 1.0))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 15.2b | (/ (* (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha))))) (/ (+ (+ alpha beta) (* 2 1)) (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))))) |
| 3.4b | (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) |
| 3.4b | (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) |
| 3.4b | (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) |
4 calls. Slowest were:
| 42.0ms | (/ (* (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha))))) (/ (+ (+ alpha beta) (* 2 1)) (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))))) |
| 13.0ms | (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) |
| 4.0ms | (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) |
4 calls. Slowest were:
| 599.0ms | (/ (* (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha))))) (/ (+ (+ alpha beta) (* 2 1)) (/ (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) (+ (+ alpha beta) (* 2 1))))) |
| 68.0ms | (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) |
| 63.0ms | (cbrt (+ (+ (+ alpha beta) (* beta alpha)) 1.0)) |
| 59.0ms | (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) |
280 calls. Slowest were:
| 786.0ms | (* (cbrt (+ (* alpha beta) (+ beta (+ 1.0 alpha)))) (cbrt (+ (pow (* alpha beta) 3) (pow (+ beta (+ 1.0 alpha)) 3)))) |
| 732.0ms | (cbrt (- (* (+ (+ alpha beta) (* beta alpha)) (+ (+ alpha beta) (* beta alpha))) (* 1.0 1.0))) |
| 719.0ms | (cbrt (+ (pow (* alpha beta) 3) (pow (+ beta (+ 1.0 alpha)) 3))) |
8 alts after pruning (6 fresh and 2 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 3.1b | (/ (+ 1.0 (+ (* alpha beta) (+ beta alpha))) (+ (+ 2 beta) (+ 1.0 alpha))) |
| 2.0b | (/ (/ (+ 1.0 (+ (* alpha beta) (+ beta alpha))) (+ (+ 2 beta) (+ 1.0 alpha))) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
| 0.0b | (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta)) |
| 0.0b | (+ (+ 2 beta) (+ 1.0 alpha)) |
4 calls. Slowest were:
| 30.0ms | (/ (/ (+ 1.0 (+ (* alpha beta) (+ beta alpha))) (+ (+ 2 beta) (+ 1.0 alpha))) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
| 16.0ms | (/ (+ 1.0 (+ (* alpha beta) (+ beta alpha))) (+ (+ 2 beta) (+ 1.0 alpha))) |
| 10.0ms | (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta)) |
4 calls. Slowest were:
| 85.0ms | (/ (/ (+ 1.0 (+ (* alpha beta) (+ beta alpha))) (+ (+ 2 beta) (+ 1.0 alpha))) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
| 63.0ms | (/ (+ 1.0 (+ (* alpha beta) (+ beta alpha))) (+ (+ 2 beta) (+ 1.0 alpha))) |
| 13.0ms | (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta)) |
| 8.0ms | (+ (+ 2 beta) (+ 1.0 alpha)) |
170 calls. Slowest were:
| 923.0ms | (* (+ (pow (+ alpha 2) 3) (pow beta 3)) (- (* (+ alpha 2) (+ alpha 2)) (* beta beta))) |
| 858.0ms | (/ (+ 1.0 (+ (* alpha beta) (+ beta alpha))) (+ (* (- (* 2 2) (* beta beta)) (- 1.0 alpha)) (* (- 2 beta) (- (* 1.0 1.0) (* alpha alpha))))) |
| 844.0ms | (* (- (* (+ alpha 2) (+ alpha 2)) (* beta beta)) (- (* (+ alpha 2) (+ alpha 2)) (* beta beta))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 20.0b | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
| 20.0b | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
| 0.6b | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta)))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 0.6b | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta)))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
4 calls. Slowest were:
| 52.0ms | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
| 38.0ms | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
| 37.0ms | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta)))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
4 calls. Slowest were:
| 168.0ms | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta)))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 153.0ms | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta)))) (sqrt (+ (+ beta 1.0) (+ alpha 2)))) |
| 110.0ms | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
| 85.0ms | (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (+ (+ alpha 2) beta))) |
630 calls. Slowest were:
| 1.2s | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (- (* (+ alpha 2) (+ alpha 2)) (* beta beta)) (- (* (+ alpha 2) (+ alpha 2)) (* beta beta))))) (sqrt (sqrt (+ (+ beta 1.0) (+ alpha 2))))) |
| 1.0s | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (- (* (+ alpha 2) (+ alpha 2)) (* beta beta)) (- (* (+ alpha 2) (+ alpha 2)) (* beta beta))))) (sqrt (* (cbrt (+ (+ beta 1.0) (+ alpha 2))) (cbrt (+ (+ beta 1.0) (+ alpha 2)))))) |
| 911.0ms | (/ (sqrt (/ (+ (+ (+ beta 1.0) (* alpha beta)) alpha) (* (+ (+ alpha 2) beta) (- (* (+ alpha 2) (+ alpha 2)) (* beta beta))))) 1) |
7 alts after pruning (4 fresh and 3 done)
Merged error: 0.4b
86.7% (0.3b remaining)
Error of 1.4b against oracle of 1.0b and baseline of 3.5b