Average Error: 16.8 → 13.1
Time: 1.1m
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 2.2318763762476097 \cdot 10^{+307}:\\ \;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot \left(\left(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot \sqrt[3]{\cos \left(\frac{K}{2}\right)}\right) \cdot \left(-2 \cdot J\right)\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 2.2318763762476097e+307 < (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

    1. Initial program 60.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.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)))) < 2.2318763762476097e+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}}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt0.7

      \[\leadsto \left(\left(-2 \cdot J\right) \cdot \color{blue}{\left(\left(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot \sqrt[3]{\cos \left(\frac{K}{2}\right)}\right) \cdot \sqrt[3]{\cos \left(\frac{K}{2}\right)}\right)}\right) \cdot \sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}\]
    4. Applied associate-*r*0.7

      \[\leadsto \color{blue}{\left(\left(\left(-2 \cdot J\right) \cdot \left(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot \sqrt[3]{\cos \left(\frac{K}{2}\right)}\right)\right) \cdot \sqrt[3]{\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 simplification13.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) = -\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 2.2318763762476097 \cdot 10^{+307}:\\ \;\;\;\;\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1} \cdot \left(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot \left(\left(\sqrt[3]{\cos \left(\frac{K}{2}\right)} \cdot \sqrt[3]{\cos \left(\frac{K}{2}\right)}\right) \cdot \left(-2 \cdot J\right)\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 2018360 
(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: 58.0s)Debug log

start270.0ms

Algorithm
intervals

setup393.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 17.5b

localize64.0ms

Local error

Found 4 expressions with local error:

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

rewrite49.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

28.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)))
4.0ms
(* (* -2 J) (cos (/ K 2)))

series465.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

148.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
140.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
133.0ms
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
43.0ms
(* (* -2 J) (cos (/ K 2)))

simplify6.6s

Counts
45 → 79
Calls

45 calls. Slowest were:

492.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
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)))))
338.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

prune1.7s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 12.9b

localize14.0ms

Local error

Found 4 expressions with local error:

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

rewrite99.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

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

series555.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

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

simplify6.6s

Counts
45 → 77
Calls

45 calls. Slowest were:

483.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)))))
455.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
361.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

prune1.6s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 12.9b

localize34.0ms

Local error

Found 4 expressions with local error:

9.7b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
9.7b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
9.7b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
7.8b
(* (* (* (* -2 J) (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (cbrt (cos (/ K 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

rewrite137.0ms

Algorithm
rewrite-expression-head
Counts
4 → 71
Calls

4 calls. Slowest were:

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

series523.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

156.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))))
135.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
127.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
105.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify9.1s

Counts
51 → 83
Calls

51 calls. Slowest were:

612.0ms
(sqrt (- (* 1 1) (* (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
576.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)))))
467.0ms
(sqrt (- 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

prune2.2s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 12.9b

localize49.0ms

Local error

Found 4 expressions with local error:

20.5b
(/ (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3)))) (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))))))
14.8b
(- (* (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)))
6.7b
(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)))))
3.7b
(sqrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3)))

rewrite320.0ms

Algorithm
rewrite-expression-head
Counts
4 → 80
Calls

4 calls. Slowest were:

145.0ms
(/ (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3)))) (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))))))
78.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)))))
75.0ms
(sqrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3)))

series745.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

261.0ms
(/ (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3)))) (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))))))
212.0ms
(- (* (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)))
163.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)))))
109.0ms
(sqrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3)))

simplify23.8s

Counts
63 → 92
Calls

63 calls. Slowest were:

1.1s
(sqrt (- (* (* 1 1) (* 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))) (- (* (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))))))
860.0ms
(sqrt (cbrt (+ (* 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))))))
838.0ms
(- (+ (+ (log (* -2 J)) (log (cos (/ K 2)))) (log (sqrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3))))) (log (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)))))))

prune2.2s

Pruning

9 alts after pruning (6 fresh and 3 done)

Merged error: 12.9b

regimes661.0ms

Accuracy

81.4% (0.9b remaining)

Error of 13.1b against oracle of 12.2b and baseline of 17.2b

bsearch8.0ms