


Bits error versus a



Bits error versus k



Bits error versus m
if k < 1.006642282481732e+144Initial program 0.1
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*l*0.0
if 1.006642282481732e+144 < k Initial program 9.7
Simplified9.7
rmApplied add-sqr-sqrt9.7
Applied associate-*l*9.7
Taylor expanded around -inf 63.0
Simplified0.5
Final simplification0.1
herbie shell --seed 2019016 +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: 43.2s)Debug log
| 525× | (pre true 80) |
| 377× | (body real 80) |
| 148× | (body nan 80) |
| 34.0ms | (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 2.4b
Found 2 expressions with local error:
| 2.4b | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
| 0.0b | (* (pow k m) a) |
| 5× | add-cube-cbrt |
| 5× | *-un-lft-identity |
| 5× | add-sqr-sqrt |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 3× | associate-*l* |
| 3× | times-frac |
| 3× | associate-/r* |
| 2× | add-log-exp |
| 2× | log1p-expm1-u |
| 2× | pow1 |
| 2× | expm1-log1p-u |
| 1× | associate-/l* |
| 1× | div-inv |
| 1× | *-commutative |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 10.0ms | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
| 4.0ms | (* (pow k m) a) |
| 109.0ms | (* (pow k m) a) |
| 96.0ms | (/ (* (pow k m) a) (fma k (+ k 10) 1)) |
| 843.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))) |
| 572.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)))) |
| 265.0ms | (- (+ a (* (log k) (* m a))) (* 10 (* a k))) |
| 245.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)))) |
| 160.0ms | (* a (exp (* m (- (log -1) (log (/ -1 k)))))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 2.4b | (/ (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (fma k (+ k 10) 1)) |
| 0.2b | (sqrt (pow k m)) |
| 0.2b | (sqrt (pow k m)) |
| 0.0b | (* (sqrt (pow k m)) a) |
| 12× | add-sqr-sqrt |
| 10× | add-cube-cbrt |
| 10× | *-un-lft-identity |
| 9× | sqrt-prod |
| 9× | add-exp-log |
| 9× | add-cbrt-cube |
| 6× | associate-*l* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | times-frac |
| 3× | associate-/r* |
| 2× | div-exp |
| 2× | pow1/2 |
| 2× | rem-sqrt-square |
| 2× | cbrt-undiv |
| 1× | associate-/l* |
| 1× | div-inv |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | prod-exp |
| 1× | frac-2neg |
| 1× | clear-num |
| 19.0ms | (/ (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (fma k (+ k 10) 1)) |
| 3.0ms | (sqrt (pow k m)) |
| 3.0ms | (* (sqrt (pow k m)) a) |
| 1.0ms | (sqrt (pow k m)) |
| 175.0ms | (* (sqrt (pow k m)) a) |
| 104.0ms | (/ (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (fma k (+ k 10) 1)) |
| 88.0ms | (sqrt (pow k m)) |
| 73.0ms | (sqrt (pow k m)) |
| 586.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)))) |
| 261.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)))) |
| 261.0ms | (- (+ a (* (log k) (* m a))) (* 10 (* a k))) |
| 196.0ms | (+ (* 1/2 (* (log k) m)) (+ (* 1/8 (* (pow (log k) 2) (pow m 2))) 1)) |
| 153.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))) (* (* (fma k (+ k 10) 1) (fma k (+ k 10) 1)) (fma k (+ k 10) 1))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 15.1b | (sqrt (fma k (+ k 10) 1)) |
| 15.1b | (sqrt (fma k (+ k 10) 1)) |
| 0.0b | (/ (/ (* (pow k m) a) (sqrt (fma k (+ k 10) 1))) (sqrt (fma k (+ k 10) 1))) |
| 0.0b | (/ (* (pow k m) a) (sqrt (fma k (+ k 10) 1))) |
| 108× | times-frac |
| 66× | sqrt-prod |
| 55× | add-sqr-sqrt |
| 53× | add-cube-cbrt |
| 53× | *-un-lft-identity |
| 12× | associate-/r* |
| 11× | associate-/l* |
| 11× | add-exp-log |
| 11× | add-cbrt-cube |
| 9× | div-inv |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | div-exp |
| 4× | cbrt-undiv |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 2× | pow1/2 |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | rem-sqrt-square |
| 1× | associate-/l/ |
| 17.0ms | (/ (/ (* (pow k m) a) (sqrt (fma k (+ k 10) 1))) (sqrt (fma k (+ k 10) 1))) |
| 11.0ms | (/ (* (pow k m) a) (sqrt (fma k (+ k 10) 1))) |
| 2.0ms | (sqrt (fma k (+ k 10) 1)) |
| 2.0ms | (sqrt (fma k (+ k 10) 1)) |
| 134.0ms | (/ (* (pow k m) a) (sqrt (fma k (+ k 10) 1))) |
| 98.0ms | (/ (/ (* (pow k m) a) (sqrt (fma k (+ k 10) 1))) (sqrt (fma k (+ k 10) 1))) |
| 26.0ms | (sqrt (fma k (+ k 10) 1)) |
| 25.0ms | (sqrt (fma k (+ k 10) 1)) |
| 752.0ms | (/ (* (* (* (pow k m) a) (* (pow k m) a)) (* (pow k m) a)) (* (* (sqrt (fma k (+ k 10) 1)) (sqrt (fma k (+ k 10) 1))) (sqrt (fma k (+ k 10) 1)))) |
| 658.0ms | (- (+ (* 37 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 3))) (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) k)) (* 5 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 2)))) |
| 602.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)))) |
| 391.0ms | (/ a (sqrt (cbrt (fma k (+ k 10) 1)))) |
| 310.0ms | (- (* 5 (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) (pow k 2))) (+ (* 37 (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) (pow k 3))) (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) k))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 15.1b | (sqrt (fma k (+ k 10) 1)) |
| 15.1b | (sqrt (fma k (+ k 10) 1)) |
| 0.2b | (/ (pow k m) (/ (sqrt (fma k (+ k 10) 1)) a)) |
| 0.0b | (/ (/ (pow k m) (/ (sqrt (fma k (+ k 10) 1)) a)) (sqrt (fma k (+ k 10) 1))) |
| 198× | times-frac |
| 109× | add-sqr-sqrt |
| 107× | add-cube-cbrt |
| 107× | *-un-lft-identity |
| 60× | sqrt-prod |
| 34× | div-inv |
| 20× | associate-/l* |
| 14× | add-exp-log |
| 11× | add-cbrt-cube |
| 10× | associate-/r* |
| 8× | associate-/r/ |
| 7× | div-exp |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-undiv |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 2× | pow1/2 |
| 2× | frac-2neg |
| 2× | clear-num |
| 2× | rem-sqrt-square |
| 2× | pow-to-exp |
| 1× | associate-/l/ |
| 7.0ms | (/ (/ (pow k m) (/ (sqrt (fma k (+ k 10) 1)) a)) (sqrt (fma k (+ k 10) 1))) |
| 4.0ms | (/ (pow k m) (/ (sqrt (fma k (+ k 10) 1)) a)) |
| 1.0ms | (sqrt (fma k (+ k 10) 1)) |
| 1.0ms | (sqrt (fma k (+ k 10) 1)) |
| 136.0ms | (/ (pow k m) (/ (sqrt (fma k (+ k 10) 1)) a)) |
| 91.0ms | (/ (/ (pow k m) (/ (sqrt (fma k (+ k 10) 1)) a)) (sqrt (fma k (+ k 10) 1))) |
| 20.0ms | (sqrt (fma k (+ k 10) 1)) |
| 15.0ms | (sqrt (fma k (+ k 10) 1)) |
| 691.0ms | (- (+ (* 37 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 3))) (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) k)) (* 5 (/ (* (exp (* -1 (* (log (/ 1 k)) m))) a) (pow k 2)))) |
| 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)))) |
| 277.0ms | (- (+ a (* (log k) (* m a))) (* 5 (* a k))) |
| 269.0ms | (/ (/ (* (cbrt (pow k m)) (cbrt (pow k m))) (* (cbrt (/ (sqrt (fma k (+ k 10) 1)) a)) (cbrt (/ (sqrt (fma k (+ k 10) 1)) a)))) (* (cbrt (sqrt (fma k (+ k 10) 1))) (cbrt (sqrt (fma k (+ k 10) 1))))) |
| 259.0ms | (- (* 5 (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) (pow k 2))) (+ (* 37 (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) (pow k 3))) (/ (* a (exp (* m (- (log -1) (log (/ -1 k)))))) k))) |
4 alts after pruning (1 fresh and 3 done)
Merged error: 0.0b
98% (0.0b remaining)
Error of 0.1b against oracle of 0.1b and baseline of 2.0b
| 16270× | (pre true 80) |
| 12030× | (body real 80) |
| 4240× | (body nan 80) |