


Bits error versus a



Bits error versus k



Bits error versus m
if k < 5.89303279033011e+85Initial program 0.1
Simplified0.1
rmApplied add-cube-cbrt0.1
Applied associate-*l*0.1
if 5.89303279033011e+85 < k Initial program 7.3
Simplified7.3
rmApplied associate-/l*7.4
Taylor expanded around 0 7.4
Simplified0.6
Final simplification0.2
herbie shell --seed 2019008 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))
Time bar (total: 21.1s)Debug log
1 calls. Slowest were:
| 43.0ms | (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 2.3b
Found 2 expressions with local error:
| 2.3b | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
| 0.0b | (* (pow k m) a) |
2 calls. Slowest were:
| 5.0ms | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
| 2.0ms | (* (pow k m) a) |
2 calls. Slowest were:
| 120.0ms | (* (pow k m) a) |
| 100.0ms | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
20 calls. Slowest were:
| 871.0ms | (/ (* (* (* (pow k m) a) (* (pow k m) a)) (* (pow k m) a)) (* (* (fma k (+ k 10) 1) (fma k (+ k 10) 1)) (fma k (+ k 10) 1))) |
| 637.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)))) |
| 310.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)))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 2.3b | (/ (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) a)) (fma k (+ k 10) 1)) |
| 0.0b | (cbrt (pow k m)) |
| 0.0b | (cbrt (pow k m)) |
| 0.0b | (cbrt (pow k m)) |
4 calls. Slowest were:
| 30.0ms | (/ (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) a)) (fma k (+ k 10) 1)) |
| 1.0ms | (cbrt (pow k m)) |
| 1.0ms | (cbrt (pow k m)) |
4 calls. Slowest were:
| 136.0ms | (/ (* (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (pow k m)) a)) (fma k (+ k 10) 1)) |
| 121.0ms | (cbrt (pow k m)) |
| 106.0ms | (cbrt (pow k m)) |
| 90.0ms | (cbrt (pow k m)) |
37 calls. Slowest were:
| 551.0ms | (exp (* 1/3 (* m (- (log -1) (log (/ -1 k)))))) |
| 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)))) |
| 429.0ms | (exp (* 1/3 (* m (- (log -1) (log (/ -1 k)))))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 11.2b | (sqrt (fma k (+ k 10) 1)) |
| 11.2b | (sqrt (fma k (+ k 10) 1)) |
| 0.1b | (* (/ (pow k m) (sqrt (fma k (+ k 10) 1))) (/ a (sqrt (fma k (+ k 10) 1)))) |
| 0.0b | (/ a (sqrt (fma k (+ k 10) 1))) |
4 calls. Slowest were:
| 12.0ms | (* (/ (pow k m) (sqrt (fma k (+ k 10) 1))) (/ a (sqrt (fma k (+ k 10) 1)))) |
| 2.0ms | (sqrt (fma k (+ k 10) 1)) |
| 2.0ms | (sqrt (fma k (+ k 10) 1)) |
4 calls. Slowest were:
| 101.0ms | (* (/ (pow k m) (sqrt (fma k (+ k 10) 1))) (/ a (sqrt (fma k (+ k 10) 1)))) |
| 56.0ms | (/ a (sqrt (fma k (+ k 10) 1))) |
| 19.0ms | (sqrt (fma k (+ k 10) 1)) |
| 16.0ms | (sqrt (fma k (+ k 10) 1)) |
61 calls. Slowest were:
| 634.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)))) |
| 587.0ms | (- (+ a (* (log k) (* m a))) (* 10 (* a k))) |
| 490.0ms | (* (* (* (/ (pow k m) (sqrt (fma k (+ k 10) 1))) (/ (pow k m) (sqrt (fma k (+ k 10) 1)))) (/ (pow k m) (sqrt (fma k (+ k 10) 1)))) (* (* (/ a (sqrt (fma k (+ k 10) 1))) (/ a (sqrt (fma k (+ k 10) 1)))) (/ a (sqrt (fma k (+ k 10) 1))))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0.2b
Found 2 expressions with local error:
| 3.4b | (/ (fma k (+ k 10) 1) a) |
| 0.3b | (/ (pow k m) (/ (fma k (+ k 10) 1) a)) |
2 calls. Slowest were:
| 4.0ms | (/ (pow k m) (/ (fma k (+ k 10) 1) a)) |
| 3.0ms | (/ (fma k (+ k 10) 1) a) |
2 calls. Slowest were:
| 99.0ms | (/ (pow k m) (/ (fma k (+ k 10) 1) a)) |
| 22.0ms | (/ (fma k (+ k 10) 1) a) |
41 calls. Slowest were:
| 494.0ms | (/ (* (* (pow k m) (pow k m)) (pow k m)) (* (* (/ (fma k (+ k 10) 1) a) (/ (fma k (+ k 10) 1) a)) (/ (fma k (+ k 10) 1) a))) |
| 362.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)))) |
| 193.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)))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.2b
95.8% (0.1b remaining)
Error of 0.2b against oracle of 0.1b and baseline of 2.1b