Average Error: 2.0 → 2.0
Time: 50.9s
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)}{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.0

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

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

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

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

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

Reproduce

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

Details

Time bar (total: 50.4s)Debug log

sample153.0ms

Algorithm
intervals
Results
525×(pre true 80)
377×(body real 80)
148×(body nan 80)

simplify50.0ms

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

prune12.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 2.4b

localize20.0ms

Local error

Found 3 expressions with local error:

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

rewrite26.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
18.0ms
(/ (* (pow k m) a) (+ 1 (* k (+ k 10))))
5.0ms
(* (pow k m) a)
2.0ms
(* k (+ k 10))

series256.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
119.0ms
(* (pow k m) a)
105.0ms
(/ (* (pow k m) a) (+ 1 (* k (+ k 10))))
32.0ms
(* k (+ k 10))

simplify1.9s

Counts
32 → 56
Calls
32 calls:
Slowest
497.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
(- (+ (* 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))))
188.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)))))
123.0ms
(+ (* 1 1) (- (* (* k (+ k 10)) (* k (+ k 10))) (* 1 (* k (+ k 10)))))
121.0ms
(- (+ a (* (log k) (* m a))) (* 10 (* a k)))

prune532.0ms

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 2.4b

localize15.0ms

Local error

Found 4 expressions with local error:

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

rewrite15.0ms

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt
10×add-cube-cbrt
10×*-un-lft-identity
sqrt-prod
add-exp-log
add-cbrt-cube
associate-*l*
add-log-exp
pow1
times-frac
associate-/r*
associate-/r/
div-exp
pow1/2
rem-sqrt-square
cbrt-undiv
associate-/l*
div-inv
flip-+
cbrt-unprod
*-commutative
prod-exp
flip3-+
frac-2neg
clear-num
Counts
4 → 61
Calls
4 calls:
Slowest
10.0ms
(/ (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (+ 1 (* k (+ k 10))))
3.0ms
(* (sqrt (pow k m)) a)
1.0ms
(sqrt (pow k m))
1.0ms
(sqrt (pow k m))

series458.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
169.0ms
(* (sqrt (pow k m)) a)
104.0ms
(sqrt (pow k m))
102.0ms
(/ (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (+ 1 (* k (+ k 10))))
82.0ms
(sqrt (pow k m))

simplify2.7s

Counts
41 → 73
Calls
41 calls:
Slowest
468.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))))
283.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))) (* (* (+ 1 (* k (+ k 10))) (+ 1 (* k (+ k 10)))) (+ 1 (* k (+ k 10)))))
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))))
172.0ms
(/ (* (* (* (sqrt (pow k m)) (* (sqrt (pow k m)) a)) (* (sqrt (pow k m)) (* (sqrt (pow k m)) a))) (* (sqrt (pow k m)) (* (sqrt (pow k m)) a))) (* (* (+ 1 (* k (+ k 10))) (+ 1 (* k (+ k 10)))) (+ 1 (* k (+ k 10)))))
127.0ms
(sqrt (exp (* -1 (* (log (/ 1 k)) m))))

prune1.1s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 2.4b

localize17.0ms

Local error

Found 4 expressions with local error:

15.1b
(sqrt (+ 1 (* k (+ k 10))))
15.1b
(sqrt (+ 1 (* k (+ k 10))))
0.0b
(/ (/ (* (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)))))

rewrite37.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
19.0ms
(/ (/ (* (pow k m) a) (sqrt (+ 1 (* k (+ k 10))))) (sqrt (+ 1 (* k (+ k 10)))))
10.0ms
(/ (* (pow k m) a) (sqrt (+ 1 (* k (+ k 10)))))
1.0ms
(sqrt (+ 1 (* k (+ k 10))))
1.0ms
(sqrt (+ 1 (* k (+ k 10))))

series255.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
146.0ms
(/ (* (pow k m) a) (sqrt (+ 1 (* k (+ k 10)))))
76.0ms
(/ (/ (* (pow k m) a) (sqrt (+ 1 (* k (+ k 10))))) (sqrt (+ 1 (* k (+ k 10)))))
19.0ms
(sqrt (+ 1 (* k (+ k 10))))
14.0ms
(sqrt (+ 1 (* k (+ k 10))))

simplify17.6s

Counts
215 → 174
Calls
215 calls:
Slowest
880.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))))
774.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))))))
570.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)))))))
552.0ms
(/ (/ (* (pow k m) a) (sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))) (sqrt (sqrt (+ 1 (* k (+ k 10))))))
519.0ms
(/ (/ (* (pow k m) a) (sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))) (sqrt (* (cbrt (+ 1 (* k (+ k 10)))) (cbrt (+ 1 (* k (+ k 10)))))))

prune2.5s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 2.4b

localize8.0ms

Local error

Found 4 expressions with local error:

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

rewrite15.0ms

Algorithm
rewrite-expression-head
Rules
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/
10×associate-/r*
div-exp
sqrt-div
add-log-exp
cbrt-undiv
pow1
flip-+
flip3-+
pow1/2
frac-2neg
clear-num
rem-sqrt-square
pow-to-exp
associate-/l/
Counts
4 → 204
Calls
4 calls:
Slowest
7.0ms
(/ (/ (pow k m) (/ (sqrt (+ 1 (* k (+ k 10)))) a)) (sqrt (+ 1 (* k (+ k 10)))))
4.0ms
(/ (pow k m) (/ (sqrt (+ 1 (* k (+ k 10)))) a))
1.0ms
(sqrt (+ 1 (* k (+ k 10))))
1.0ms
(sqrt (+ 1 (* k (+ k 10))))

series246.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
137.0ms
(/ (pow k m) (/ (sqrt (+ 1 (* k (+ k 10)))) a))
75.0ms
(/ (/ (pow k m) (/ (sqrt (+ 1 (* k (+ k 10)))) a)) (sqrt (+ 1 (* k (+ k 10)))))
18.0ms
(sqrt (+ 1 (* k (+ k 10))))
15.0ms
(sqrt (+ 1 (* k (+ k 10))))

simplify15.8s

Counts
291 → 216
Calls
291 calls:
Slowest
580.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
(sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))
490.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))))
483.0ms
(sqrt (+ (pow 1 3) (pow (* k (+ k 10)) 3)))
293.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)))

prune3.2s

Pruning

3 alts after pruning (0 fresh and 3 done)

Merged error: 2.4b

regimes121.0ms

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms

end0.0ms

sample3.3s

Algorithm
intervals
Results
16270×(pre true 80)
12030×(body real 80)
4240×(body nan 80)