Average Error: 17.7 → 0.3
Time: 35.3s
Precision: 64
Internal Precision: 128
\[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
\[U + \left(\left(\ell \cdot 2 + \left(\frac{1}{60} \cdot {\ell}^{5} + {\ell}^{3} \cdot \frac{1}{3}\right)\right) \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\]

Error

Bits error versus J

Bits error versus l

Bits error versus K

Bits error versus U

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 17.7

    \[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
  2. Taylor expanded around 0 0.3

    \[\leadsto \left(J \cdot \color{blue}{\left(2 \cdot \ell + \left(\frac{1}{3} \cdot {\ell}^{3} + \frac{1}{60} \cdot {\ell}^{5}\right)\right)}\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
  3. Final simplification0.3

    \[\leadsto U + \left(\left(\ell \cdot 2 + \left(\frac{1}{60} \cdot {\ell}^{5} + {\ell}^{3} \cdot \frac{1}{3}\right)\right) \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\]

Reproduce

herbie shell --seed 2019002 
(FPCore (J l K U)
  :name "Maksimov and Kolovsky, Equation (4)"
  (+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))

Details

Time bar (total: 33.8s)Debug log

sample276.0ms

Algorithm
intervals

simplify242.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

242.0ms
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U)

prune13.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 18.4b

localize50.0ms

Local error

Found 3 expressions with local error:

5.9b
(- (exp l) (exp (- l)))
0.0b
(* (* J (- (exp l) (exp (- l)))) (cos (/ K 2)))
0.0b
(* J (- (exp l) (exp (- l))))

rewrite51.0ms

Algorithm
rewrite-expression-head
Counts
3 → 50
Calls

3 calls. Slowest were:

28.0ms
(* (* J (- (exp l) (exp (- l)))) (cos (/ K 2)))
13.0ms
(* J (- (exp l) (exp (- l))))
8.0ms
(- (exp l) (exp (- l)))

series235.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

96.0ms
(* (* J (- (exp l) (exp (- l)))) (cos (/ K 2)))
78.0ms
(* J (- (exp l) (exp (- l))))
61.0ms
(- (exp l) (exp (- l)))

simplify1.7s

Counts
32 → 59
Calls

32 calls. Slowest were:

348.0ms
(* (* J (- (pow (exp l) 3) (pow (exp (- l)) 3))) (cos (/ K 2)))
193.0ms
(* (* J (- (exp l) (exp (- l)))) (cos (/ K 2)))
192.0ms
(* (cos (* 1/2 K)) (* J (- (exp l) (exp (- l)))))

prune886.0ms

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0.0b

localize27.0ms

Local error

Found 4 expressions with local error:

0.1b
(* 1/3 (pow l 3))
0.1b
(* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))
0.1b
(* 1/60 (pow l 5))
0.0b
(* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5)))))

rewrite30.0ms

Algorithm
rewrite-expression-head
Counts
4 → 56
Calls

4 calls. Slowest were:

20.0ms
(* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))
7.0ms
(* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5)))))
1.0ms
(* 1/3 (pow l 3))

series303.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

148.0ms
(* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))
99.0ms
(* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5)))))
35.0ms
(* 1/60 (pow l 5))
20.0ms
(* 1/3 (pow l 3))

simplify3.2s

Counts
34 → 68
Calls

34 calls. Slowest were:

610.0ms
(* (* J (+ (pow (* 2 l) 3) (pow (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))) 3))) (cos (/ K 2)))
375.0ms
(+ (* 1/3 (* J (pow l 3))) (+ (* 2 (* J l)) (* 1/60 (* J (pow l 5)))))
364.0ms
(+ (* 1/3 (* J (pow l 3))) (+ (* 2 (* J l)) (* 1/60 (* J (pow l 5)))))

prune1.1s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize14.0ms

Local error

Found 4 expressions with local error:

0.3b
(cbrt (cos (/ K 2)))
0.3b
(cbrt (cos (/ K 2)))
0.3b
(cbrt (cos (/ K 2)))
0.3b
(* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 61
Calls

4 calls. Slowest were:

7.0ms
(* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))
1.0ms
(cbrt (cos (/ K 2)))
1.0ms
(cbrt (cos (/ K 2)))

series834.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

295.0ms
(* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))
204.0ms
(cbrt (cos (/ K 2)))
181.0ms
(cbrt (cos (/ K 2)))
154.0ms
(cbrt (cos (/ K 2)))

simplify398.0ms

Counts
41 → 73
Calls

41 calls. Slowest were:

101.0ms
(- 1 (+ (* 1/1152 (pow K 4)) (* 1/24 (pow K 2))))
87.0ms
(- 1 (+ (* 1/25920 (pow K 6)) (* 1/12 (pow K 2))))
77.0ms
(- 1 (+ (* 1/1152 (pow K 4)) (* 1/24 (pow K 2))))

prune1.4s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 0.0b

localize34.0ms

Local error

Found 4 expressions with local error:

14.0b
(cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2))))
14.0b
(cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2))))
14.0b
(cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2))))
0.5b
(* (cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))) (cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))))

rewrite90.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

34.0ms
(* (cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))) (cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))))
30.0ms
(cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2))))
13.0ms
(cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2))))

series1.2s

Counts
4 → 12
Calls

4 calls. Slowest were:

335.0ms
(cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2))))
328.0ms
(* (cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))) (cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2)))))
307.0ms
(cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2))))
268.0ms
(cbrt (* (* J (+ (* 2 l) (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))))) (cos (/ K 2))))

simplify9.2s

Counts
49 → 77
Calls

49 calls. Slowest were:

662.0ms
(* (cbrt (* (* J (+ (pow (* 2 l) 3) (pow (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))) 3))) (cos (/ K 2)))) (cbrt (* (* J (+ (pow (* 2 l) 3) (pow (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))) 3))) (cos (/ K 2)))))
609.0ms
(cbrt (* (* J (+ (pow (* 2 l) 3) (pow (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))) 3))) (cos (/ K 2))))
592.0ms
(cbrt (* (* J (+ (pow (* 2 l) 3) (pow (+ (* 1/3 (pow l 3)) (* 1/60 (pow l 5))) 3))) (cos (/ K 2))))

prune1.7s

Pruning

7 alts after pruning (4 fresh and 3 done)

Merged error: 0.0b

regimes533.0ms

Accuracy

0% (0.3b remaining)

Error of 0.3b against oracle of 0.1b and baseline of 0.3b

bsearch3.0ms

end0.0ms

sample10.3s

Algorithm
intervals