Average Error: 15.0 → 1.3
Time: 1.5m
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(-{\left(\frac{m + n}{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.0

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

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

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

Reproduce

herbie shell --seed 2018362 +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: 1.4m)Debug log

start163.0ms

Algorithm
intervals

setup202.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 15.3b

localize68.0ms

Local error

Found 4 expressions with local error:

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

rewrite240.0ms

Algorithm
rewrite-expression-head
Counts
4 → 139
Calls

4 calls. Slowest were:

221.0ms
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))
7.0ms
(pow (- (/ (+ m n) 2) M) 2)
6.0ms
(cos (- (/ (* K (+ m n)) 2) M))

series272.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

129.0ms
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))
62.0ms
(cos (- (/ (* K (+ m n)) 2) M))
54.0ms
(pow (- (/ (+ m n) 2) M) 2)
27.0ms
(* K (+ m n))

simplify35.4s

Counts
159 → 151
Calls

159 calls. Slowest were:

777.0ms
(fma (pow (* (cbrt (- (/ (+ m n) 2) M)) (cbrt (- (/ (+ m n) 2) M))) 2) (- (pow (cbrt (- (/ (+ m n) 2) M)) 2)) (- (* (sqrt (- l (fabs (- m n)))) (sqrt (- l (fabs (- m n)))))))
692.0ms
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))
679.0ms
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))

prune3.3s

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 1.2b

localize4.0ms

Local error

Found 3 expressions with local error:

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

rewrite170.0ms

Algorithm
rewrite-expression-head
Counts
3 → 123
Calls

3 calls. Slowest were:

162.0ms
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))
6.0ms
(pow (- (/ (+ m n) 2) M) 2)
0.0ms
(- l (fabs (- m n)))

series189.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

118.0ms
(- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n))))
55.0ms
(pow (- (/ (+ m n) 2) M) 2)
16.0ms
(- l (fabs (- m n)))

simplify33.4s

Counts
146 → 132
Calls

146 calls. Slowest were:

1.1s
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))
677.0ms
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))
663.0ms
(fma (- (- l (fabs (- m n)))) 1 (* (- l (fabs (- m n))) 1))

prune2.1s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 1.2b

localize24.0ms

Local error

Found 4 expressions with local error:

33.7b
(cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (+ m n))) 2) M))
0.6b
(cbrt (+ m n))
0.6b
(cbrt (+ m n))
0.6b
(cbrt (+ m n))

rewrite17.0ms

Algorithm
rewrite-expression-head
Counts
4 → 57
Calls

4 calls. Slowest were:

13.0ms
(cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (+ m n))) 2) M))
1.0ms
(cbrt (+ m n))
1.0ms
(cbrt (+ m n))

series595.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

190.0ms
(cbrt (+ m n))
145.0ms
(cbrt (+ m n))
135.0ms
(cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (+ m n))) 2) M))
126.0ms
(cbrt (+ m n))

simplify1.5s

Counts
30 → 69
Calls

30 calls. Slowest were:

240.0ms
(- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3))))
223.0ms
(- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3))))
219.0ms
(- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3))))

prune1.6s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 1.1b

localize51.0ms

Local error

Found 4 expressions with local error:

33.9b
(cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (* (cbrt (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (cbrt (+ m n))))) 2) M))
0.6b
(cbrt (+ m n))
0.6b
(cbrt (+ m n))
0.6b
(cbrt (+ m n))

rewrite32.0ms

Algorithm
rewrite-expression-head
Counts
4 → 57
Calls

4 calls. Slowest were:

28.0ms
(cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (* (cbrt (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (cbrt (+ m n))))) 2) M))
1.0ms
(cbrt (+ m n))
1.0ms
(cbrt (+ m n))

series528.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

160.0ms
(cbrt (+ m n))
134.0ms
(cbrt (+ m n))
119.0ms
(cos (- (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (* (cbrt (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (cbrt (+ m n))))) 2) M))
115.0ms
(cbrt (+ m n))

simplify2.3s

Counts
30 → 69
Calls

30 calls. Slowest were:

612.0ms
(* (cos (/ (* (* K (* (cbrt (+ m n)) (cbrt (+ m n)))) (* (cbrt (* (cbrt (+ m n)) (cbrt (+ m n)))) (cbrt (cbrt (+ m n))))) 2)) (cos (- M)))
279.0ms
(- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3))))
246.0ms
(- (+ (* 1/3 (* m (pow (/ 1 (pow n 2)) 1/3))) (pow n 1/3)) (* 1/9 (* (pow m 2) (pow (/ 1 (pow n 5)) 1/3))))

prune1.8s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 1.1b

regimes542.0ms

Accuracy

0% (0.2b remaining)

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

bsearch3.0ms