Average Error: 15.3 → 1.5
Time: 2.2m
Precision: 64
Internal Precision: 128
\[\cos \left(\frac{K \cdot \left(m + n\right)}{2} - M\right) \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
\[e^{\left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \left(\left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \sqrt[3]{\frac{n + m}{2} - M}\right) \cdot \sqrt[3]{\frac{n + m}{2} - M}\right)\right) \cdot \left(-{\left(\sqrt[3]{\frac{n + m}{2} - M}\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]

Error

Bits error versus K

Bits error versus m

Bits error versus n

Bits error versus M

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.3

    \[\cos \left(\frac{K \cdot \left(m + n\right)}{2} - M\right) \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  2. Taylor expanded around 0 1.5

    \[\leadsto \color{blue}{1} \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt1.5

    \[\leadsto 1 \cdot e^{\left(-{\color{blue}{\left(\left(\sqrt[3]{\frac{m + n}{2} - M} \cdot \sqrt[3]{\frac{m + n}{2} - M}\right) \cdot \sqrt[3]{\frac{m + n}{2} - M}\right)}}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  5. Applied unpow-prod-down1.5

    \[\leadsto 1 \cdot e^{\left(-\color{blue}{{\left(\sqrt[3]{\frac{m + n}{2} - M} \cdot \sqrt[3]{\frac{m + n}{2} - M}\right)}^{2} \cdot {\left(\sqrt[3]{\frac{m + n}{2} - M}\right)}^{2}}\right) - \left(\ell - \left|m - n\right|\right)}\]
  6. Simplified1.5

    \[\leadsto 1 \cdot e^{\left(-\color{blue}{\left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \left(\frac{n + m}{2} - M\right)\right)} \cdot {\left(\sqrt[3]{\frac{m + n}{2} - M}\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  7. Using strategy rm
  8. Applied add-cube-cbrt1.5

    \[\leadsto 1 \cdot e^{\left(-\left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \color{blue}{\left(\left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \sqrt[3]{\frac{n + m}{2} - M}\right) \cdot \sqrt[3]{\frac{n + m}{2} - M}\right)}\right) \cdot {\left(\sqrt[3]{\frac{m + n}{2} - M}\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  9. Applied associate-*r*1.5

    \[\leadsto 1 \cdot e^{\left(-\color{blue}{\left(\left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \sqrt[3]{\frac{n + m}{2} - M}\right)\right) \cdot \sqrt[3]{\frac{n + m}{2} - M}\right)} \cdot {\left(\sqrt[3]{\frac{m + n}{2} - M}\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  10. Final simplification1.5

    \[\leadsto e^{\left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \left(\left(\sqrt[3]{\frac{n + m}{2} - M} \cdot \sqrt[3]{\frac{n + m}{2} - M}\right) \cdot \sqrt[3]{\frac{n + m}{2} - M}\right)\right) \cdot \left(-{\left(\sqrt[3]{\frac{n + m}{2} - M}\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]

Reproduce

herbie shell --seed 2019002 +o rules:numerics
(FPCore (K m n M l)
  :name "Maksimov and Kolovsky, Equation (32)"
  (* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))))

Details

Time bar (total: 2.2m)Debug log

sample73.0ms

Algorithm
intervals

simplify138.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

138.0ms
(* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))))

prune14.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 13.5b

localize51.0ms

Local error

Found 4 expressions with local error:

31.9b
(cos (- (/ (* K (+ m n)) 2) M))
0.0b
(exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))
0.0b
(pow (- (/ (+ m n) 2) M) 2)
0.0b
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))

rewrite472.0ms

Algorithm
rewrite-expression-head
Counts
4 → 198
Calls

4 calls. Slowest were:

307.0ms
(exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))
143.0ms
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))
13.0ms
(cos (- (/ (* K (+ m n)) 2) M))

series350.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

126.0ms
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))
100.0ms
(exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))
65.0ms
(pow (- (/ (+ m n) 2) M) 2)
60.0ms
(cos (- (/ (* K (+ m n)) 2) M))

simplify50.2s

Counts
219 → 210
Calls

219 calls. Slowest were:

834.0ms
(exp (fma (pow 1 2) (- (pow (- (/ (+ m n) 2) M) 2)) (- (* (cbrt (- l (fabs (- m n)))) (* (cbrt (- l (fabs (- m n)))) (cbrt (- l (fabs (- m n)))))))))
672.0ms
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))
661.0ms
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))

prune3.1s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 1.4b

localize3.0ms

Local error

Found 3 expressions with local error:

0.0b
(exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))
0.0b
(pow (- (/ (+ m n) 2) M) 2)
0.0b
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))

rewrite286.0ms

Algorithm
rewrite-expression-head
Counts
3 → 186
Calls

3 calls. Slowest were:

174.0ms
(exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))
103.0ms
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))
5.0ms
(pow (- (/ (+ m n) 2) M) 2)

series207.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

87.0ms
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))
83.0ms
(exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))
38.0ms
(pow (- (/ (+ m n) 2) M) 2)

simplify51.1s

Counts
213 → 195
Calls

213 calls. Slowest were:

770.0ms
(exp (fma (pow (* (cbrt (- (/ (+ m n) 2) M)) (cbrt (- (/ (+ m n) 2) M))) 2) (- (pow (cbrt (- (/ (+ m n) 2) M)) 2)) (- (* (cbrt (- l (fabs (- m n)))) (* (cbrt (- l (fabs (- m n)))) (cbrt (- l (fabs (- m n)))))))))
719.0ms
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))
707.0ms
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))

prune3.3s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 1.4b

localize30.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt (- (/ (+ m n) 2) M))
0.6b
(cbrt (- (/ (+ n m) 2) M))
0.5b
(pow (cbrt (- (/ (+ m n) 2) M)) 2)
0.1b
(* (cbrt (- (/ (+ n m) 2) M)) (- (/ (+ n m) 2) M))

rewrite38.0ms

Algorithm
rewrite-expression-head
Counts
4 → 86
Calls

4 calls. Slowest were:

27.0ms
(* (cbrt (- (/ (+ n m) 2) M)) (- (/ (+ n m) 2) M))
5.0ms
(pow (cbrt (- (/ (+ m n) 2) M)) 2)
2.0ms
(cbrt (- (/ (+ m n) 2) M))

series900.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

245.0ms
(pow (cbrt (- (/ (+ m n) 2) M)) 2)
244.0ms
(cbrt (- (/ (+ n m) 2) M))
210.0ms
(* (cbrt (- (/ (+ n m) 2) M)) (- (/ (+ n m) 2) M))
202.0ms
(cbrt (- (/ (+ m n) 2) M))

simplify5.8s

Counts
61 → 98
Calls

61 calls. Slowest were:

408.0ms
(- (pow M 4/3) (+ (* 2/3 (* m (pow M 1/3))) (* 2/3 (* (pow M 1/3) n))))
344.0ms
(* (cbrt (- (* (/ (+ n m) 2) (/ (+ n m) 2)) (* M M))) (- (* (/ (+ n m) 2) (/ (+ n m) 2)) (* M M)))
306.0ms
(cbrt (- (* (/ (+ n m) 2) (/ (+ n m) 2)) (* M M)))

prune2.2s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 1.4b

localize42.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt (- (/ (+ n m) 2) M))
0.6b
(cbrt (- (/ (+ n m) 2) M))
0.6b
(cbrt (- (/ (+ n m) 2) M))
0.6b
(cbrt (- (/ (+ n m) 2) M))

rewrite19.0ms

Algorithm
rewrite-expression-head
Counts
4 → 60
Calls

4 calls. Slowest were:

7.0ms
(cbrt (- (/ (+ n m) 2) M))
5.0ms
(cbrt (- (/ (+ n m) 2) M))
4.0ms
(cbrt (- (/ (+ n m) 2) M))

series829.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

228.0ms
(cbrt (- (/ (+ n m) 2) M))
221.0ms
(cbrt (- (/ (+ n m) 2) M))
207.0ms
(cbrt (- (/ (+ n m) 2) M))
173.0ms
(cbrt (- (/ (+ n m) 2) M))

simplify4.4s

Counts
32 → 72
Calls

32 calls. Slowest were:

711.0ms
(- (+ (* 1/6 (* (pow (/ 1 (pow M 2)) 1/3) n)) (exp (* 1/3 (+ (log M) (log -1))))) (* 1/6 (* m (exp (* 1/3 (- (log -1) (* 2 (log M))))))))
372.0ms
(- (+ (* 1/6 (* (pow (/ 1 (pow M 2)) 1/3) n)) (exp (* 1/3 (+ (log M) (log -1))))) (* 1/6 (* m (exp (* 1/3 (- (log -1) (* 2 (log M))))))))
303.0ms
(- (+ (* 1/6 (* (pow (/ 1 (pow M 2)) 1/3) n)) (exp (* 1/3 (+ (log M) (log -1))))) (* 1/6 (* m (exp (* 1/3 (- (log -1) (* 2 (log M))))))))

prune1.6s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 1.4b

regimes416.0ms

Accuracy

0% (0.2b remaining)

Error of 1.5b against oracle of 1.3b and baseline of 1.5b

bsearch10.0ms

end0.0ms

sample3.8s

Algorithm
intervals