Average Error: 17.0 → 13.2
Time: 45.5s
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.3408484940495008 \cdot 10^{+307}:\\ \;\;\;\;\left(\sqrt{\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)\right) \cdot \sqrt{\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1}}\\ \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.3408484940495008e+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 46.1

      \[\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.3408484940495008e+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-sqr-sqrt0.1

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

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

      \[\leadsto \color{blue}{\left(\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{\sqrt{1 + {\left(\frac{U}{\left(2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2}}}\right) \cdot \sqrt{\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.2

    \[\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.3408484940495008 \cdot 10^{+307}:\\ \;\;\;\;\left(\sqrt{\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)\right) \cdot \sqrt{\sqrt{{\left(\frac{U}{\left(J \cdot 2\right) \cdot \cos \left(\frac{K}{2}\right)}\right)}^{2} + 1}}\\ \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 2019004 
(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: 43.9s)Debug log

sample203.0ms

Algorithm
intervals

simplify694.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune14.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 14.9b

localize62.0ms

Local error

Found 4 expressions with local error:

7.7b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
7.1b
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
0.3b
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
0.1b
(* (* -2 J) (cos (/ K 2)))

rewrite64.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

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

series460.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

143.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
131.0ms
(pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)
127.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
58.0ms
(* (* -2 J) (cos (/ K 2)))

simplify6.0s

Counts
45 → 79
Calls

45 calls. Slowest were:

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

prune1.2s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 11.0b

localize15.0ms

Local error

Found 4 expressions with local error:

7.7b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
7.7b
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
7.1b
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
7.1b
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

rewrite25.0ms

Algorithm
rewrite-expression-head
Counts
4 → 64
Calls

4 calls. Slowest were:

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

series624.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

225.0ms
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
199.0ms
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
104.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
95.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify7.0s

Counts
44 → 76
Calls

44 calls. Slowest were:

301.0ms
(sqrt (sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
284.0ms
(sqrt (sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
273.0ms
(sqrt (sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

prune1.4s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 11.0b

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

rewrite17.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

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

series720.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

221.0ms
(sqrt (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))
213.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))
199.0ms
(cbrt (+ 1 (* (/ (/ U (* 2 J)) (cos (/ K 2))) (/ (/ U (* 2 J)) (cos (/ K 2))))))
87.0ms
(sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

simplify7.5s

Counts
38 → 70
Calls

38 calls. Slowest were:

1.5s
(cbrt (- (* 1 1) (* (* (/ (/ U (* 2 J)) (cos (/ K 2))) (/ (/ U (* 2 J)) (cos (/ K 2)))) (* (/ (/ U (* 2 J)) (cos (/ K 2))) (/ (/ U (* 2 J)) (cos (/ K 2)))))))
782.0ms
(cbrt (+ (pow 1 3) (pow (* (/ (/ U (* 2 J)) (cos (/ K 2))) (/ (/ U (* 2 J)) (cos (/ K 2)))) 3)))
339.0ms
(sqrt (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: 11.0b

localize13.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)))
9.3b
(sqrt (* (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

rewrite14.0ms

Algorithm
rewrite-expression-head
Counts
4 → 57
Calls

4 calls. Slowest were:

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

series856.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

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

simplify6.6s

Counts
37 → 69
Calls

37 calls. Slowest were:

312.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)))))
310.0ms
(sqrt (* (cbrt (+ (pow 1 3) (pow (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) 3))) (cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
290.0ms
(cbrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))

prune1.4s

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 11.0b

regimes678.0ms

Accuracy

84.7% (0.7b remaining)

Error of 13.2b against oracle of 12.5b and baseline of 17.1b

bsearch8.0ms

end1.0ms

sample6.5s

Algorithm
intervals