


Bits error versus a



Bits error versus k



Bits error versus m
if k < 19905263.164965536Initial program 0.1
Simplified0.0
rmApplied div-inv0.0
if 19905263.164965536 < k Initial program 5.5
Simplified5.5
Taylor expanded around -inf 62.9
Simplified0.6
Taylor expanded around -inf 62.9
Simplified0.1
Final simplification0.1
herbie shell --seed 2019002 +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: 22.3s)Debug log
1 calls. Slowest were:
| 58.0ms | (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 2.6b
Found 2 expressions with local error:
| 2.6b | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
| 0.0b | (* (pow k m) a) |
2 calls. Slowest were:
| 9.0ms | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
| 2.0ms | (* (pow k m) a) |
2 calls. Slowest were:
| 117.0ms | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
| 106.0ms | (* (pow k m) a) |
20 calls. Slowest were:
| 936.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))) |
| 524.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)))) |
| 316.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 (3 fresh and 0 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 2.6b | (* (* (pow k m) a) (/ 1 (fma k (+ k 10) 1))) |
| 0.4b | (/ 1 (fma k (+ k 10) 1)) |
| 0.0b | (* (pow k m) a) |
3 calls. Slowest were:
| 7.0ms | (* (* (pow k m) a) (/ 1 (fma k (+ k 10) 1))) |
| 4.0ms | (* (pow k m) a) |
| 1.0ms | (/ 1 (fma k (+ k 10) 1)) |
3 calls. Slowest were:
| 125.0ms | (* (* (pow k m) a) (/ 1 (fma k (+ k 10) 1))) |
| 114.0ms | (* (pow k m) a) |
| 11.0ms | (/ 1 (fma k (+ k 10) 1)) |
26 calls. Slowest were:
| 640.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)))) |
| 491.0ms | (* (* (* (* (pow k m) a) (* (pow k m) a)) (* (pow k m) a)) (* (* (/ 1 (fma k (+ k 10) 1)) (/ 1 (fma k (+ k 10) 1))) (/ 1 (fma k (+ k 10) 1)))) |
| 284.0ms | (- (+ a (* (log k) (* m a))) (* 10 (* a k))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.0b
Found 2 expressions with local error:
| 4.3b | (/ (fma (* m a) (log k) a) (fma k (+ k 10) 1)) |
| 0.1b | (fma (* m a) (log k) a) |
2 calls. Slowest were:
| 3.0ms | (/ (fma (* m a) (log k) a) (fma k (+ k 10) 1)) |
| 0.0ms | (fma (* m a) (log k) a) |
2 calls. Slowest were:
| 77.0ms | (/ (fma (* m a) (log k) a) (fma k (+ k 10) 1)) |
| 33.0ms | (fma (* m a) (log k) a) |
31 calls. Slowest were:
| 647.0ms | (- (+ a (* a (* m (log -1)))) (* a (* m (log (/ -1 k))))) |
| 325.0ms | (/ (* (* (fma (* m a) (log k) a) (fma (* m a) (log k) a)) (fma (* m a) (log k) a)) (* (* (fma k (+ k 10) 1) (fma k (+ k 10) 1)) (fma k (+ k 10) 1))) |
| 241.0ms | (- (+ a (* (log k) (* m a))) (* 10 (* a k))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 8.0b | (fma (/ (pow (exp m) (log k)) (/ (pow k 4) a)) 99 (fma (/ -10 k) (/ (pow (exp m) (log k)) (/ k (/ a k))) (/ (pow (exp m) (log k)) (/ k (/ a k))))) |
| 6.4b | (/ (pow (exp m) (log k)) (/ (pow k 4) a)) |
| 5.1b | (fma (/ -10 k) (/ (pow (exp m) (log k)) (/ k (/ a k))) (/ (pow (exp m) (log k)) (/ k (/ a k)))) |
| 3.7b | (/ (pow (exp m) (log k)) (/ k (/ a k))) |
4 calls. Slowest were:
| 5.0ms | (/ (pow (exp m) (log k)) (/ (pow k 4) a)) |
| 5.0ms | (/ (pow (exp m) (log k)) (/ k (/ a k))) |
| 0.0ms | (fma (/ (pow (exp m) (log k)) (/ (pow k 4) a)) 99 (fma (/ -10 k) (/ (pow (exp m) (log k)) (/ k (/ a k))) (/ (pow (exp m) (log k)) (/ k (/ a k))))) |
4 calls. Slowest were:
| 263.0ms | (fma (/ (pow (exp m) (log k)) (/ (pow k 4) a)) 99 (fma (/ -10 k) (/ (pow (exp m) (log k)) (/ k (/ a k))) (/ (pow (exp m) (log k)) (/ k (/ a k))))) |
| 260.0ms | (fma (/ -10 k) (/ (pow (exp m) (log k)) (/ k (/ a k))) (/ (pow (exp m) (log k)) (/ k (/ a k)))) |
| 176.0ms | (/ (pow (exp m) (log k)) (/ k (/ a k))) |
| 150.0ms | (/ (pow (exp m) (log k)) (/ (pow k 4) a)) |
147 calls. Slowest were:
| 676.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)))) |
| 526.0ms | (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) (pow k 2)) |
| 459.0ms | (- (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 2)) (* 10 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 3)))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0b
98.7% (0.0b remaining)
Error of 0.1b against oracle of 0.0b and baseline of 2.1b