


Bits error versus a



Bits error versus k



Bits error versus m
Results
Initial program 1.9
Simplified1.8
rmApplied add-sqr-sqrt1.8
Applied associate-*l*1.8
rmApplied div-inv1.8
Final simplification1.8
herbie shell --seed 2019007
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))
Time bar (total: 21.7s)Debug log
1 calls. Slowest were:
| 54.0ms | (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 1.2b
Found 3 expressions with local error:
| 1.2b | (/ (* (pow k m) a) (+ 1 (* k (+ k 10)))) |
| 0.0b | (* (pow k m) a) |
| 0.0b | (* k (+ k 10)) |
3 calls. Slowest were:
| 8.0ms | (/ (* (pow k m) a) (+ 1 (* k (+ k 10)))) |
| 4.0ms | (* (pow k m) a) |
| 2.0ms | (* k (+ k 10)) |
3 calls. Slowest were:
| 141.0ms | (* (pow k m) a) |
| 105.0ms | (/ (* (pow k m) a) (+ 1 (* k (+ k 10)))) |
| 31.0ms | (* k (+ k 10)) |
32 calls. Slowest were:
| 464.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)))) |
| 312.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)))) |
| 175.0ms | (/ (* (* (* (pow k m) a) (* (pow k m) a)) (* (pow k m) a)) (* (* (+ 1 (* k (+ k 10))) (+ 1 (* k (+ k 10)))) (+ 1 (* k (+ k 10))))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 1.1b
Found 4 expressions with local error:
| 1.2b | (/ (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (+ 1 (* k (+ k 10)))) |
| 0.0b | (* (sqrt (pow k m)) a) |
| 0.0b | (* k (+ k 10)) |
| 0.0b | (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) |
4 calls. Slowest were:
| 12.0ms | (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) |
| 11.0ms | (/ (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (+ 1 (* k (+ k 10)))) |
| 3.0ms | (* (sqrt (pow k m)) a) |
4 calls. Slowest were:
| 153.0ms | (* (sqrt (pow k m)) a) |
| 105.0ms | (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) |
| 100.0ms | (/ (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (+ 1 (* k (+ k 10)))) |
| 33.0ms | (* k (+ k 10)) |
48 calls. Slowest were:
| 525.0ms | (* (* (* (sqrt (pow k m)) (sqrt (pow k m))) (sqrt (pow k m))) (* (* (* (sqrt (pow k m)) a) (* (sqrt (pow k m)) a)) (* (sqrt (pow k m)) a))) |
| 519.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)))) |
| 272.0ms | (/ (* (* (* (sqrt (pow k m)) (sqrt (pow k m))) (sqrt (pow k m))) (* (* (* (sqrt (pow k m)) a) (* (sqrt (pow k m)) a)) (* (sqrt (pow k m)) a))) (* (* (+ 1 (* k (+ k 10))) (+ 1 (* k (+ k 10)))) (+ 1 (* k (+ k 10))))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 1.1b
Found 4 expressions with local error:
| 1.2b | (/ (* (* (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:
| 39.0ms | (/ (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) a)) (+ 1 (* k (+ k 10)))) |
| 1.0ms | (cbrt (pow k m)) |
| 1.0ms | (cbrt (pow k m)) |
4 calls. Slowest were:
| 126.0ms | (cbrt (pow k m)) |
| 114.0ms | (/ (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) a)) (+ 1 (* k (+ k 10)))) |
| 111.0ms | (cbrt (pow k m)) |
| 106.0ms | (cbrt (pow k m)) |
39 calls. Slowest were:
| 550.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)))) |
| 392.0ms | (exp (* 1/3 (* m (- (log -1) (log (/ -1 k)))))) |
| 308.0ms | (exp (* 1/3 (* m (- (log -1) (log (/ -1 k)))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 1.1b
Found 4 expressions with local error:
| 1.2b | (* (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (/ 1 (+ 1 (* k (+ k 10))))) |
| 0.3b | (/ 1 (+ 1 (* k (+ k 10)))) |
| 0.0b | (* (sqrt (pow k m)) a) |
| 0.0b | (* k (+ k 10)) |
4 calls. Slowest were:
| 20.0ms | (* (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (/ 1 (+ 1 (* k (+ k 10))))) |
| 4.0ms | (/ 1 (+ 1 (* k (+ k 10)))) |
| 3.0ms | (* (sqrt (pow k m)) a) |
4 calls. Slowest were:
| 156.0ms | (* (sqrt (pow k m)) a) |
| 87.0ms | (* (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (/ 1 (+ 1 (* k (+ k 10))))) |
| 20.0ms | (* k (+ k 10)) |
| 11.0ms | (/ 1 (+ 1 (* k (+ k 10)))) |
47 calls. Slowest were:
| 487.0ms | (- (+ (/ 1 (pow k 2)) (* 99 (/ 1 (pow k 4)))) (* 10 (/ 1 (pow k 3)))) |
| 472.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)))) |
| 359.0ms | (+ (+ (log (sqrt (pow k m))) (log (* (sqrt (pow k m)) a))) (log (/ 1 (+ 1 (* k (+ k 10)))))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 1.1b
0% (0.0b remaining)
Error of 1.8b against oracle of 1.8b and baseline of 1.8b