Average Error: 2.2 → 2.2
Time: 34.6s
Precision: 64
Internal Precision: 128
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\frac{\frac{{k}^{m} \cdot a}{\sqrt{1 + \left(k + 10\right) \cdot k}}}{\sqrt{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.2

    \[\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 add-sqr-sqrt2.2

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

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

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

Reproduce

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

Details

Time bar (total: 34.0s)Debug log

sample124.0ms

Algorithm
intervals

simplify49.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
49.0ms
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k)))

prune16.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 2.8b

localize23.0ms

Local error

Found 3 expressions with local error:

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

rewrite9.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-exp-log
add-cbrt-cube
add-log-exp
associate-*l*
associate-*r*
times-frac
associate-/r*
pow1
flip-+
*-commutative
associate-/r/
associate-*r/
flip3-+
associate-/l*
div-inv
div-exp
distribute-lft-in
frac-2neg
clear-num
cbrt-undiv
distribute-rgt-in
Counts
3 → 47
Calls
3 calls:
Slowest
5.0ms
(/ (* (pow k m) a) (+ 1 (* k (+ k 10))))
2.0ms
(* (pow k m) a)
1.0ms
(* k (+ k 10))

series197.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
95.0ms
(* (pow k m) a)
75.0ms
(/ (* (pow k m) a) (+ 1 (* k (+ k 10))))
27.0ms
(* k (+ k 10))

simplify1.6s

Counts
32 → 56
Calls
32 calls:
Slowest
510.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))))
207.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))))
122.0ms
(/ (* (* (* (pow k m) a) (* (pow k m) a)) (* (pow k m) a)) (* (* (+ 1 (* k (+ k 10))) (+ 1 (* k (+ k 10)))) (+ 1 (* k (+ k 10)))))
120.0ms
(* a (exp (* m (- (log -1) (log (/ -1 k))))))
105.0ms
(* (exp (* -1 (* (log (/ 1 k)) m))) a)

prune640.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 2.8b

localize31.0ms

Local error

Found 3 expressions with local error:

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

rewrite23.0ms

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
add-log-exp
add-exp-log
add-cbrt-cube
associate-*l*
times-frac
associate-/r*
pow1
flip-+
associate-/r/
flip3-+
associate-/l*
distribute-lft-out
div-inv
*-commutative
div-exp
frac-2neg
sum-log
clear-num
+-commutative
cbrt-undiv
Counts
3 → 44
Calls
3 calls:
Slowest
14.0ms
(/ (* (pow k m) a) (+ 1 (+ (* k k) (* k 10))))
4.0ms
(+ (* k k) (* k 10))
4.0ms
(* (pow k m) a)

series303.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
151.0ms
(* (pow k m) a)
113.0ms
(/ (* (pow k m) a) (+ 1 (+ (* k k) (* k 10))))
39.0ms
(+ (* k k) (* k 10))

simplify2.0s

Counts
27 → 53
Calls
27 calls:
Slowest
492.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))))
338.0ms
(+ (* 1 1) (- (* (+ (* k k) (* k 10)) (+ (* k k) (* k 10))) (* 1 (+ (* k k) (* k 10)))))
218.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))))
177.0ms
(/ (* (* (* (pow k m) a) (* (pow k m) a)) (* (pow k m) a)) (* (* (+ 1 (+ (* k k) (* k 10))) (+ 1 (+ (* k k) (* k 10)))) (+ 1 (+ (* k k) (* k 10)))))
154.0ms
(- (+ a (* (log k) (* m a))) (* 10 (* a k)))

prune672.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 2.8b

localize16.0ms

Local error

Found 4 expressions with local error:

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

rewrite29.0ms

Algorithm
rewrite-expression-head
Rules
120×times-frac
72×sqrt-prod
59×add-sqr-sqrt
57×add-cube-cbrt
57×*-un-lft-identity
22×sqrt-div
18×associate-/r/
13×associate-/l*
12×associate-/r*
11×flip-+
11×add-exp-log
11×add-cbrt-cube
11×flip3-+
div-inv
add-log-exp
div-exp
cbrt-undiv
pow1
pow1/2
frac-2neg
clear-num
rem-sqrt-square
associate-/l/
Counts
4 → 162
Calls
4 calls:
Slowest
17.0ms
(/ (/ (* (pow k m) a) (sqrt (+ 1 (* k (+ k 10))))) (sqrt (+ 1 (* k (+ k 10)))))
7.0ms
(/ (* (pow k m) a) (sqrt (+ 1 (* k (+ k 10)))))
2.0ms
(sqrt (+ 1 (* k (+ k 10))))
1.0ms
(sqrt (+ 1 (* k (+ k 10))))

series265.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
115.0ms
(/ (* (pow k m) a) (sqrt (+ 1 (* k (+ k 10)))))
110.0ms
(/ (/ (* (pow k m) a) (sqrt (+ 1 (* k (+ k 10))))) (sqrt (+ 1 (* k (+ k 10)))))
25.0ms
(sqrt (+ 1 (* k (+ k 10))))
15.0ms
(sqrt (+ 1 (* k (+ k 10))))

simplify17.3s

Counts
215 → 174
Calls
215 calls:
Slowest
845.0ms
(/ (/ (* (pow k m) a) (sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))) (sqrt (sqrt (+ 1 (* k (+ k 10))))))
669.0ms
(/ (* (* (* (pow k m) a) (* (pow k m) a)) (* (pow k m) a)) (* (* (sqrt (+ 1 (* k (+ k 10)))) (sqrt (+ 1 (* k (+ k 10))))) (sqrt (+ 1 (* k (+ k 10))))))
590.0ms
(sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))
577.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))))
563.0ms
(/ (/ (* (pow k m) a) (sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))) (* (cbrt (sqrt (+ 1 (* k (+ k 10))))) (cbrt (sqrt (+ 1 (* k (+ k 10)))))))

prune2.5s

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 2.8b

localize19.0ms

Local error

Found 4 expressions with local error:

12.3b
(sqrt (+ 1 (* k (+ k 10))))
12.3b
(sqrt (+ 1 (* k (+ k 10))))
12.3b
(sqrt (+ 1 (* k (+ k 10))))
0.1b
(/ a (sqrt (sqrt (+ 1 (* k (+ k 10))))))

rewrite7.0ms

Algorithm
rewrite-expression-head
Rules
18×sqrt-prod
13×add-sqr-sqrt
10×add-cube-cbrt
10×sqrt-div
10×*-un-lft-identity
associate-/r*
add-log-exp
flip-+
add-exp-log
add-cbrt-cube
flip3-+
pow1
pow1/2
rem-sqrt-square
associate-/r/
div-inv
frac-2neg
clear-num
Counts
4 → 63
Calls
4 calls:
Slowest
2.0ms
(/ a (sqrt (sqrt (+ 1 (* k (+ k 10))))))
1.0ms
(sqrt (+ 1 (* k (+ k 10))))
1.0ms
(sqrt (+ 1 (* k (+ k 10))))
1.0ms
(sqrt (+ 1 (* k (+ k 10))))

series141.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
85.0ms
(/ a (sqrt (sqrt (+ 1 (* k (+ k 10))))))
24.0ms
(sqrt (+ 1 (* k (+ k 10))))
17.0ms
(sqrt (+ 1 (* k (+ k 10))))
14.0ms
(sqrt (+ 1 (* k (+ k 10))))

simplify3.6s

Counts
41 → 75
Calls
41 calls:
Slowest
457.0ms
(sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))
434.0ms
(sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))
433.0ms
(sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))
255.0ms
(- (+ (* 123/8 (/ (* a (sqrt (/ -1 k))) (pow k 2))) (* a (sqrt (/ -1 k)))) (* 5/2 (/ (* a (sqrt (/ -1 k))) k)))
227.0ms
(sqrt (- (* 1 1) (* (* k (+ k 10)) (* k (+ k 10)))))

prune1.2s

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 2.8b

regimes155.0ms

Accuracy

0% (0.1b remaining)

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

bsearch2.0ms

end0.0ms

sample3.0s

Algorithm
intervals