Average Error: 2.1 → 0.3
Time: 24.5s
Precision: 64
Internal Precision: 128
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\frac{{k}^{m}}{\frac{1}{a} + \left(10 + k\right) \cdot \frac{k}{a}}\]

Error

Bits error versus a

Bits error versus k

Bits error versus m

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 2.1

    \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
  2. Simplified2.1

    \[\leadsto \color{blue}{\frac{{k}^{m} \cdot a}{1 + k \cdot \left(k + 10\right)}}\]
  3. Using strategy rm
  4. Applied associate-/l*2.2

    \[\leadsto \color{blue}{\frac{{k}^{m}}{\frac{1 + k \cdot \left(k + 10\right)}{a}}}\]
  5. Taylor expanded around 0 4.1

    \[\leadsto \frac{{k}^{m}}{\color{blue}{\frac{1}{a} + \left(\frac{{k}^{2}}{a} + 10 \cdot \frac{k}{a}\right)}}\]
  6. Simplified0.3

    \[\leadsto \frac{{k}^{m}}{\color{blue}{\frac{k}{a} \cdot \left(k + 10\right) + \frac{1}{a}}}\]
  7. Final simplification0.3

    \[\leadsto \frac{{k}^{m}}{\frac{1}{a} + \left(10 + k\right) \cdot \frac{k}{a}}\]

Reproduce

herbie shell --seed 2019008 
(FPCore (a k m)
  :name "Falkner and Boettcher, Appendix A"
  (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))

Details

Time bar (total: 24.0s)Debug log

sample146.0ms

Algorithm
intervals

simplify75.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

75.0ms
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k)))

prune19.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 2.3b

localize35.0ms

Local error

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))

rewrite17.0ms

Algorithm
rewrite-expression-head
Counts
3 → 47
Calls

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))

series248.0ms

Counts
3 → 9
Calls

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))

simplify1.7s

Counts
32 → 56
Calls

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)

prune584.0ms

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 2.3b

localize23.0ms

Local error

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))

rewrite18.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

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))

series364.0ms

Counts
4 → 12
Calls

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))

simplify4.1s

Counts
39 → 70
Calls

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)))))

prune749.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 2.3b

localize21.0ms

Local error

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)))))

rewrite17.0ms

Algorithm
rewrite-expression-head
Counts
4 → 93
Calls

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))))

series180.0ms

Counts
4 → 12
Calls

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))))

simplify6.7s

Counts
71 → 105
Calls

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))))

prune1.2s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 2.3b

localize5.0ms

Local error

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))

rewrite11.0ms

Algorithm
rewrite-expression-head
Counts
3 → 63
Calls

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))

series153.0ms

Counts
3 → 9
Calls

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))

simplify3.3s

Counts
53 → 72
Calls

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))))

prune860.0ms

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0.2b

regimes121.0ms

Accuracy

0% (0.1b remaining)

Error of 0.3b against oracle of 0.1b and baseline of 0.3b

bsearch1.0ms

end0.0ms

sample3.3s

Algorithm
intervals