Average Error: 17.1 → 15.1
Time: 49.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) \le 1.6077700777832486 \cdot 10^{+306}:\\ \;\;\;\;\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)))) < 1.6077700777832486e+306

    1. Initial program 10.3

      \[\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}}\]

    if 1.6077700777832486e+306 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

    1. Initial program 59.3

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

      \[\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)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification15.1

    \[\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) \le 1.6077700777832486 \cdot 10^{+306}:\\ \;\;\;\;\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 2018365 
(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: 36.4s)Debug log

start366.0ms

Algorithm
intervals

setup686.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 16.9b

localize68.0ms

Local error

Found 4 expressions with local error:

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

rewrite62.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

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

series443.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

182.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
128.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
96.0ms
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
37.0ms
(* (* -2 J) (cos (/ K 2)))

simplify6.6s

Counts
45 → 79
Calls

45 calls. Slowest were:

591.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)))))
446.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
333.0ms
(+ (log (* (* -2 J) (cos (/ K 2)))) (log (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

prune1.4s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 13.0b

localize8.0ms

Local error

Found 4 expressions with local error:

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

rewrite45.0ms

Algorithm
rewrite-expression-head
Counts
4 → 62
Calls

4 calls. Slowest were:

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

series427.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

141.0ms
(* (* -2 J) (* (cos (/ K 2)) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
129.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
113.0ms
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
44.0ms
(* (* 2 J) (cos (/ K 2)))

simplify4.9s

Counts
39 → 74
Calls

39 calls. Slowest were:

429.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)))))
347.0ms
(* (* -2 J) (* (cos (/ K 2)) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
328.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

prune1.3s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 12.9b

localize37.0ms

Local error

Found 4 expressions with local error:

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

rewrite17.0ms

Algorithm
rewrite-expression-head
Counts
4 → 57
Calls

4 calls. Slowest were:

6.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
5.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
3.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

series829.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

236.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
218.0ms
(sqrt (* (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
196.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
178.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify6.9s

Counts
37 → 69
Calls

37 calls. Slowest were:

381.0ms
(sqrt (* (cbrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3))) (cbrt (- (* 1 1) (* (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))))
365.0ms
(sqrt (* (cbrt (- (* 1 1) (* (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cbrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3)))))
324.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

prune2.3s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 12.9b

localize20.0ms

Local error

Found 4 expressions with local error:

13.5b
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
13.5b
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
9.2b
(cbrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
9.2b
(cbrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

rewrite16.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

4.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
4.0ms
(cbrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
4.0ms
(cbrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

series823.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

224.0ms
(cbrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
220.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
214.0ms
(cbrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
164.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify6.5s

Counts
38 → 70
Calls

38 calls. Slowest were:

339.0ms
(cbrt (sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
328.0ms
(cbrt (sqrt (* (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))))
302.0ms
(cbrt (sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

prune1.8s

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 12.9b

regimes873.0ms

Accuracy

41.9% (2.8b remaining)

Error of 15.1b against oracle of 12.4b and baseline of 17.1b

bsearch14.0ms