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

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

    \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt2.3

    \[\leadsto \frac{a \cdot \color{blue}{\left(\sqrt{{k}^{m}} \cdot \sqrt{{k}^{m}}\right)}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
  4. Applied associate-*r*2.3

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

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

Reproduce

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

Details

Time bar (total: 40.8s)Debug log

start146.0ms

Algorithm
intervals

setup66.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 3.3b

localize30.0ms

Local error

Found 4 expressions with local error:

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

rewrite21.0ms

Algorithm
rewrite-expression-head
Counts
4 → 54
Calls

4 calls. Slowest were:

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

series281.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

155.0ms
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k)))
99.0ms
(* a (pow k m))
15.0ms
(+ 1 (* 10 k))
13.0ms
(+ (+ 1 (* 10 k)) (* k k))

simplify2.1s

Counts
29 → 66
Calls

29 calls. Slowest were:

509.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))))
347.0ms
(+ (* (+ 1 (* 10 k)) (+ 1 (* 10 k))) (- (* (* k k) (* k k)) (* (+ 1 (* 10 k)) (* k k))))
292.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))))

prune971.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 3.3b

localize23.0ms

Local error

Found 4 expressions with local error:

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

rewrite48.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

23.0ms
(/ (* (* a (sqrt (pow k m))) (sqrt (pow k m))) (+ (+ 1 (* 10 k)) (* k k)))
13.0ms
(* (* a (sqrt (pow k m))) (sqrt (pow k m)))
7.0ms
(+ (+ 1 (* 10 k)) (* k k))

series332.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

132.0ms
(/ (* (* a (sqrt (pow k m))) (sqrt (pow k m))) (+ (+ 1 (* 10 k)) (* k k)))
119.0ms
(* a (sqrt (pow k m)))
72.0ms
(* (* a (sqrt (pow k m))) (sqrt (pow k m)))
9.0ms
(+ (+ 1 (* 10 k)) (* k k))

simplify3.1s

Counts
44 → 79
Calls

44 calls. Slowest were:

531.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))))
342.0ms
(* (* (* (* a (sqrt (pow k m))) (* a (sqrt (pow k m)))) (* a (sqrt (pow k m)))) (* (* (sqrt (pow k m)) (sqrt (pow k m))) (sqrt (pow k m))))
312.0ms
(+ (* (+ 1 (* 10 k)) (+ 1 (* 10 k))) (- (* (* k k) (* k k)) (* (+ 1 (* 10 k)) (* k k))))

prune1.3s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 3.3b

localize23.0ms

Local error

Found 4 expressions with local error:

17.2b
(sqrt (+ 1 (* (+ 10 k) k)))
17.2b
(sqrt (+ (+ 1 (* 10 k)) (* k k)))
0.1b
(/ (/ (* (* a (sqrt (pow k m))) (sqrt (pow k m))) (sqrt (+ (+ 1 (* 10 k)) (* k k)))) (sqrt (+ 1 (* (+ 10 k) k))))
0.0b
(* (+ 10 k) k)

rewrite26.0ms

Algorithm
rewrite-expression-head
Counts
4 → 150
Calls

4 calls. Slowest were:

17.0ms
(/ (/ (* (* a (sqrt (pow k m))) (sqrt (pow k m))) (sqrt (+ (+ 1 (* 10 k)) (* k k)))) (sqrt (+ 1 (* (+ 10 k) k))))
3.0ms
(sqrt (+ (+ 1 (* 10 k)) (* k k)))
3.0ms
(* (+ 10 k) k)

series183.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

121.0ms
(/ (/ (* (* a (sqrt (pow k m))) (sqrt (pow k m))) (sqrt (+ (+ 1 (* 10 k)) (* k k)))) (sqrt (+ 1 (* (+ 10 k) k))))
30.0ms
(* (+ 10 k) k)
16.0ms
(sqrt (+ 1 (* (+ 10 k) k)))
16.0ms
(sqrt (+ (+ 1 (* 10 k)) (* k k)))

simplify20.6s

Counts
198 → 162
Calls

198 calls. Slowest were:

604.0ms
(/ (/ (* (* a (sqrt (pow k m))) (sqrt (pow k m))) (sqrt (+ (+ 1 (* 10 k)) (* k k)))) (cbrt (sqrt (+ 1 (* (+ 10 k) k)))))
495.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))))
384.0ms
(- (- (log (* (* a (sqrt (pow k m))) (sqrt (pow k m)))) (log (sqrt (+ (+ 1 (* 10 k)) (* k k))))) (log (sqrt (+ 1 (* (+ 10 k) k)))))

prune3.1s

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 3.3b

localize12.0ms

Local error

Found 4 expressions with local error:

2.7b
(* (* (sqrt (pow k m)) a) (/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k))))
0.6b
(/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k)))
0.0b
(* (+ 10 k) k)
0.0b
(* (sqrt (pow k m)) a)

rewrite20.0ms

Algorithm
rewrite-expression-head
Counts
4 → 107
Calls

4 calls. Slowest were:

10.0ms
(* (* (sqrt (pow k m)) a) (/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k))))
4.0ms
(/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k)))
3.0ms
(* (sqrt (pow k m)) a)

series414.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

196.0ms
(* (sqrt (pow k m)) a)
103.0ms
(/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k)))
86.0ms
(* (* (sqrt (pow k m)) a) (/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k))))
29.0ms
(* (+ 10 k) k)

simplify6.0s

Counts
100 → 119
Calls

100 calls. Slowest were:

567.0ms
(/ (* (* (sqrt (pow k m)) (sqrt (pow k m))) (sqrt (pow k m))) (* (* (+ 1 (* (+ 10 k) k)) (+ 1 (* (+ 10 k) k))) (+ 1 (* (+ 10 k) k))))
530.0ms
(* (* (* (* (sqrt (pow k m)) a) (* (sqrt (pow k m)) a)) (* (sqrt (pow k m)) a)) (* (* (/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k))) (/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k)))) (/ (sqrt (pow k m)) (+ 1 (* (+ 10 k) k)))))
513.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.8s

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 3.3b

regimes201.0ms

Accuracy

0% (0.0b remaining)

Error of 2.3b against oracle of 2.3b and baseline of 2.3b

bsearch2.0ms