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

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.0

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

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

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

Reproduce

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

Details

Time bar (total: 15.2s)Debug log

sample155.0ms

Algorithm
intervals

simplify50.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune18.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 2.6b

localize48.0ms

Local error

Found 3 expressions with local error:

2.6b
(/ (* (pow k m) a) (+ 1 (* k (+ k 10))))
0.0b
(* (pow k m) a)
0.0b
(* k (+ k 10))

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

series290.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

132.0ms
(/ (* (pow k m) a) (+ 1 (* k (+ k 10))))
126.0ms
(* (pow k m) a)
32.0ms
(* k (+ k 10))

simplify1.9s

Counts
32 → 56
Calls

32 calls. Slowest were:

493.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))))
288.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))))
168.0ms
(* a (exp (* m (- (log -1) (log (/ -1 k))))))

prune657.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 2.6b

localize6.0ms

Local error

Found 4 expressions with local error:

2.6b
(* (* (pow k m) a) (/ 1 (+ 1 (* k (+ k 10)))))
0.4b
(/ 1 (+ 1 (* k (+ k 10))))
0.0b
(* (pow k m) a)
0.0b
(* k (+ k 10))

rewrite11.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

6.0ms
(* (* (pow k m) a) (/ 1 (+ 1 (* k (+ k 10)))))
2.0ms
(* (pow k m) a)
1.0ms
(* k (+ k 10))

series281.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

154.0ms
(* (pow k m) a)
84.0ms
(* (* (pow k m) a) (/ 1 (+ 1 (* k (+ k 10)))))
26.0ms
(* k (+ k 10))
17.0ms
(/ 1 (+ 1 (* k (+ k 10))))

simplify3.0s

Counts
40 → 77
Calls

40 calls. Slowest were:

588.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))))
546.0ms
(* (* (* (* (pow k m) a) (* (pow k m) a)) (* (pow k m) a)) (* (* (/ 1 (+ 1 (* k (+ k 10)))) (/ 1 (+ 1 (* k (+ k 10))))) (/ 1 (+ 1 (* k (+ k 10))))))
280.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))))

prune890.0ms

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 2.6b

localize13.0ms

Local error

Found 4 expressions with local error:

4.3b
(/ (+ a (* (log k) (* m a))) (+ 1 (* k (+ k 10))))
0.3b
(* (log k) (* m a))
0.0b
(* k (+ k 10))
0.0b
(+ a (* (log k) (* m a)))

rewrite21.0ms

Algorithm
rewrite-expression-head
Counts
4 → 71
Calls

4 calls. Slowest were:

14.0ms
(/ (+ a (* (log k) (* m a))) (+ 1 (* k (+ k 10))))
3.0ms
(* (log k) (* m a))
1.0ms
(+ a (* (log k) (* m a)))

series249.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

84.0ms
(* (log k) (* m a))
79.0ms
(+ a (* (log k) (* m a)))
65.0ms
(/ (+ a (* (log k) (* m a))) (+ 1 (* k (+ k 10))))
20.0ms
(* k (+ k 10))

simplify3.3s

Counts
53 → 83
Calls

53 calls. Slowest were:

246.0ms
(/ (* (* (+ a (* (log k) (* m a))) (+ a (* (log k) (* m a)))) (+ a (* (log k) (* m a)))) (* (* (+ 1 (* k (+ k 10))) (+ 1 (* k (+ k 10)))) (+ 1 (* k (+ k 10)))))
235.0ms
(- (+ a (* a (* m (log -1)))) (* a (* m (log (/ -1 k)))))
232.0ms
(- (* a a) (* (* (log k) (* m a)) (* (log k) (* m a))))

prune826.0ms

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 2.6b

regimes124.0ms

Accuracy

0% (0.0b remaining)

Error of 2.1b against oracle of 2.0b and baseline of 2.1b

bsearch3.0ms

end0.0ms

sample3.3s

Algorithm
intervals