


Bits error versus a



Bits error versus k



Bits error versus m
Results
Initial program 2.1
Simplified2.1
rmApplied associate-/l*2.2
Taylor expanded around 0 4.1
Simplified0.3
Final simplification0.3
herbie shell --seed 2019008
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))
Time bar (total: 24.0s)Debug log
1 calls. Slowest were:
| 75.0ms | (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 2.3b
Found 3 expressions with local error:
| 2.3b | (/ (* (pow k m) a) (+ 1 (* k (+ k 10)))) |
| 0.0b | (* (pow k m) a) |
| 0.0b | (* k (+ k 10)) |
3 calls. Slowest were:
| 10.0ms | (/ (* (pow k m) a) (+ 1 (* k (+ k 10)))) |
| 4.0ms | (* (pow k m) a) |
| 2.0ms | (* k (+ k 10)) |
3 calls. Slowest were:
| 118.0ms | (* (pow k m) a) |
| 112.0ms | (/ (* (pow k m) a) (+ 1 (* k (+ k 10)))) |
| 18.0ms | (* k (+ k 10)) |
32 calls. Slowest were:
| 476.0ms | (- (+ (* 99 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 4))) (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 2))) (* 10 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 3)))) |
| 269.0ms | (- (+ (* 99 (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) (pow k 4))) (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) (pow k 2))) (* 10 (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) (pow k 3)))) |
| 152.0ms | (* (exp (* -1 (* (log (/ 1 k)) m))) a) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 2.3b
Found 4 expressions with local error:
| 2.3b | (/ (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) a)) (+ 1 (* k (+ k 10)))) |
| 0.0b | (cbrt (pow k m)) |
| 0.0b | (cbrt (pow k m)) |
| 0.0b | (cbrt (pow k m)) |
4 calls. Slowest were:
| 16.0ms | (/ (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) a)) (+ 1 (* k (+ k 10)))) |
| 0.0ms | (cbrt (pow k m)) |
| 0.0ms | (cbrt (pow k m)) |
4 calls. Slowest were:
| 103.0ms | (cbrt (pow k m)) |
| 89.0ms | (/ (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) a)) (+ 1 (* k (+ k 10)))) |
| 88.0ms | (cbrt (pow k m)) |
| 84.0ms | (cbrt (pow k m)) |
39 calls. Slowest were:
| 508.0ms | (- (+ (* 99 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 4))) (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 2))) (* 10 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 3)))) |
| 320.0ms | (exp (* 1/3 (* m (- (log -1) (log (/ -1 k)))))) |
| 306.0ms | (/ (* (* (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) (cbrt (pow k m)))) (* (cbrt (pow k m)) (cbrt (pow k m)))) (* (* (* (cbrt (pow k m)) a) (* (cbrt (pow k m)) a)) (* (cbrt (pow k m)) a))) (* (* (+ 1 (* k (+ k 10))) (+ 1 (* k (+ k 10)))) (+ 1 (* k (+ k 10))))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 2.3b
Found 4 expressions with local error:
| 11.2b | (sqrt (+ 1 (* k (+ k 10)))) |
| 11.2b | (sqrt (+ 1 (* k (+ k 10)))) |
| 0.1b | (* (/ (pow k m) (sqrt (+ 1 (* k (+ k 10))))) (/ a (sqrt (+ 1 (* k (+ k 10)))))) |
| 0.0b | (/ a (sqrt (+ 1 (* k (+ k 10))))) |
4 calls. Slowest were:
| 12.0ms | (* (/ (pow k m) (sqrt (+ 1 (* k (+ k 10))))) (/ a (sqrt (+ 1 (* k (+ k 10)))))) |
| 1.0ms | (/ a (sqrt (+ 1 (* k (+ k 10))))) |
| 1.0ms | (sqrt (+ 1 (* k (+ k 10)))) |
4 calls. Slowest were:
| 95.0ms | (* (/ (pow k m) (sqrt (+ 1 (* k (+ k 10))))) (/ a (sqrt (+ 1 (* k (+ k 10)))))) |
| 44.0ms | (/ a (sqrt (+ 1 (* k (+ k 10))))) |
| 24.0ms | (sqrt (+ 1 (* k (+ k 10)))) |
| 18.0ms | (sqrt (+ 1 (* k (+ k 10)))) |
71 calls. Slowest were:
| 822.0ms | (sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3))) |
| 549.0ms | (/ (pow k m) (sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))) |
| 479.0ms | (- (+ (* 99 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 4))) (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 2))) (* 10 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 3)))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 2.3b
Found 3 expressions with local error:
| 3.4b | (/ (+ 1 (* k (+ k 10))) a) |
| 0.3b | (/ (pow k m) (/ (+ 1 (* k (+ k 10))) a)) |
| 0.0b | (* k (+ k 10)) |
3 calls. Slowest were:
| 6.0ms | (/ (+ 1 (* k (+ k 10))) a) |
| 4.0ms | (/ (pow k m) (/ (+ 1 (* k (+ k 10))) a)) |
| 1.0ms | (* k (+ k 10)) |
3 calls. Slowest were:
| 116.0ms | (/ (pow k m) (/ (+ 1 (* k (+ k 10))) a)) |
| 19.0ms | (/ (+ 1 (* k (+ k 10))) a) |
| 18.0ms | (* k (+ k 10)) |
53 calls. Slowest were:
| 790.0ms | (/ (* (* (pow k m) (pow k m)) (pow k m)) (* (* (/ (+ 1 (* k (+ k 10))) a) (/ (+ 1 (* k (+ k 10))) a)) (/ (+ 1 (* k (+ k 10))) a))) |
| 475.0ms | (+ (pow 1 3) (pow (* k (+ k 10)) 3)) |
| 426.0ms | (- (+ (* 99 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 4))) (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 2))) (* 10 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 3)))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.2b
0% (0.1b remaining)
Error of 0.3b against oracle of 0.1b and baseline of 0.3b