Average Error: 16.7 → 12.4
Time: 53.8s
Precision: 64
Internal Precision: 128
\[\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\]
\[\begin{array}{l} \mathbf{if}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty:\\ \;\;\;\;\left(\frac{1}{2} \cdot \frac{U}{\cos \left(K \cdot \frac{1}{2}\right) \cdot J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{elif}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 1.3716354195437055 \cdot 10^{+307}:\\ \;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{2} \cdot \frac{U}{\cos \left(K \cdot \frac{1}{2}\right) \cdot J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \end{array}\]

Error

Bits error versus J

Bits error versus K

Bits error versus U

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < -inf.0 or 1.3716354195437055e+307 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

    1. Initial program 60.1

      \[\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\]
    2. Taylor expanded around inf 44.5

      \[\leadsto \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \color{blue}{\left(\frac{1}{2} \cdot \frac{U}{\cos \left(\frac{1}{2} \cdot K\right) \cdot J}\right)}\]

    if -inf.0 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) < 1.3716354195437055e+307

    1. Initial program 0.1

      \[\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification12.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) = -\infty:\\ \;\;\;\;\left(\frac{1}{2} \cdot \frac{U}{\cos \left(K \cdot \frac{1}{2}\right) \cdot J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{elif}\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right) \le 1.3716354195437055 \cdot 10^{+307}:\\ \;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{2} \cdot \frac{U}{\cos \left(K \cdot \frac{1}{2}\right) \cdot J}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019007 
(FPCore (J K U)
  :name "Maksimov and Kolovsky, Equation (3)"
  (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

Details

Time bar (total: 52.1s)Debug log

sample211.0ms

Algorithm
intervals

simplify342.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

342.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

prune16.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 17.6b

localize48.0ms

Local error

Found 4 expressions with local error:

8.7b
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
8.6b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
0.2b
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
0.1b
(* (* -2 J) (cos (/ K 2)))

rewrite61.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

27.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
18.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
9.0ms
(* (* -2 J) (cos (/ K 2)))

series373.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

117.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
112.0ms
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
100.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
43.0ms
(* (* -2 J) (cos (/ K 2)))

simplify6.4s

Counts
45 → 79
Calls

45 calls. Slowest were:

540.0ms
(sqrt (+ (* 1 1) (- (* (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)) (* 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
393.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
358.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

prune1.2s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 13.9b

localize15.0ms

Local error

Found 4 expressions with local error:

8.7b
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cos (/ K 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
8.6b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
0.3b
(cbrt (cos (/ K 2)))
0.3b
(cbrt (cos (/ K 2)))

rewrite106.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

90.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cos (/ K 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
12.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
1.0ms
(cbrt (cos (/ K 2)))

series548.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

178.0ms
(cbrt (cos (/ K 2)))
137.0ms
(cbrt (cos (/ K 2)))
125.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cos (/ K 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
108.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify5.8s

Counts
45 → 77
Calls

45 calls. Slowest were:

470.0ms
(sqrt (+ (* 1 1) (- (* (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)) (* 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
404.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
293.0ms
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

prune1.3s

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 13.9b

localize16.0ms

Local error

Found 4 expressions with local error:

8.7b
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
8.6b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
0.3b
(cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))))
0.3b
(cbrt (cos (/ K 2)))

rewrite178.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

154.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
13.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
7.0ms
(cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))))

series608.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

202.0ms
(cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))))
160.0ms
(cbrt (cos (/ K 2)))
156.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
89.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify10.4s

Counts
52 → 84
Calls

52 calls. Slowest were:

725.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
481.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
472.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (cbrt (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

prune1.6s

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 13.9b

localize35.0ms

Local error

Found 4 expressions with local error:

8.7b
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (pow (pow (cos (* 1/2 K)) 2) 1/9) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
8.6b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
0.3b
(cbrt (cos (/ K 2)))
0.3b
(cbrt (cos (/ K 2)))

rewrite157.0ms

Algorithm
rewrite-expression-head
Counts
4 → 83
Calls

4 calls. Slowest were:

147.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (pow (pow (cos (* 1/2 K)) 2) 1/9) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
6.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
1.0ms
(cbrt (cos (/ K 2)))

series560.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

165.0ms
(cbrt (cos (/ K 2)))
156.0ms
(cbrt (cos (/ K 2)))
135.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (pow (pow (cos (* 1/2 K)) 2) 1/9) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
104.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify12.9s

Counts
63 → 95
Calls

63 calls. Slowest were:

527.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (pow (pow (cos (* 1/2 K)) 2) 1/9) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
503.0ms
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (* (pow (pow (cos (* 1/2 K)) 2) 1/9) (cbrt (cbrt (cos (/ K 2)))))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
473.0ms
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

prune2.2s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 13.9b

regimes637.0ms

Accuracy

87.9% (0.6b remaining)

Error of 12.4b against oracle of 11.8b and baseline of 16.7b

bsearch6.0ms

end0.0ms

sample6.3s

Algorithm
intervals