Average Error: 17.3 → 13.4
Time: 41.2s
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.7206546213585515 \cdot 10^{+301}:\\ \;\;\;\;\left(-2 \cdot J\right) \cdot \left(\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \cos \left(\frac{K}{2}\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.7206546213585515e+301 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

    1. Initial program 59.0

      \[\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 45.6

      \[\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.7206546213585515e+301

    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}}\]
    2. Using strategy rm
    3. Applied associate-*l*0.2

      \[\leadsto \color{blue}{\left(-2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification13.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.7206546213585515 \cdot 10^{+301}:\\ \;\;\;\;\left(-2 \cdot J\right) \cdot \left(\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \cos \left(\frac{K}{2}\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 2019008 
(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: 39.7s)Debug log

sample168.0ms

Algorithm
intervals

simplify303.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune11.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 15.5b

localize30.0ms

Local error

Found 4 expressions with local error:

8.9b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
6.4b
(* (* (* -2 J) (cos (/ K 2))) (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)))

rewrite50.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

25.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
11.0ms
(* (* -2 J) (cos (/ K 2)))
6.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

series807.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

546.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
135.0ms
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
83.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
42.0ms
(* (* -2 J) (cos (/ K 2)))

simplify6.1s

Counts
45 → 79
Calls

45 calls. Slowest were:

557.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)))))
425.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
288.0ms
(sqrt (* (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

prune1.1s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 11.1b

localize7.0ms

Local error

Found 4 expressions with local error:

8.9b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
6.4b
(* (* -2 J) (* (cos (/ K 2)) (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)))

rewrite33.0ms

Algorithm
rewrite-expression-head
Counts
4 → 62
Calls

4 calls. Slowest were:

17.0ms
(* (* -2 J) (* (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)))
5.0ms
(* (* 2 J) (cos (/ K 2)))

series414.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

137.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
125.0ms
(* (* -2 J) (* (cos (/ K 2)) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
101.0ms
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
50.0ms
(* (* 2 J) (cos (/ K 2)))

simplify5.0s

Counts
39 → 74
Calls

39 calls. Slowest were:

489.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
435.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)))))
311.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: 11.1b

localize14.0ms

Local error

Found 4 expressions with local error:

8.9b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
8.9b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
6.4b
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
6.4b
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

rewrite33.0ms

Algorithm
rewrite-expression-head
Counts
4 → 64
Calls

4 calls. Slowest were:

9.0ms
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
8.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
7.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

series619.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

223.0ms
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
192.0ms
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
103.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
101.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify7.3s

Counts
44 → 76
Calls

44 calls. Slowest were:

308.0ms
(sqrt (* (cbrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cbrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))))
303.0ms
(sqrt (sqrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3))))
298.0ms
(sqrt (* (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

prune1.3s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 11.1b

localize30.0ms

Local error

Found 4 expressions with local error:

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

rewrite107.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

93.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)))

series618.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

181.0ms
(cbrt (cos (/ K 2)))
178.0ms
(cbrt (cos (/ K 2)))
146.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))))
113.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify6.0s

Counts
45 → 77
Calls

45 calls. Slowest were:

516.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)))))
410.0ms
(sqrt (- (* 1 1) (* (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
408.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

prune1.3s

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 11.1b

regimes576.0ms

Accuracy

80.6% (0.9b remaining)

Error of 13.4b against oracle of 12.4b and baseline of 17.3b

bsearch13.0ms

end0.0ms

sample6.5s

Algorithm
intervals