Average Error: 16.8 → 8.1
Time: 35.6s
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}\;J \le -7.384923856485112 \cdot 10^{-264} \lor \neg \left(J \le 7.035784431961942 \cdot 10^{-228}\right):\\ \;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1^2 + \left(\frac{\frac{U}{2}}{\cos \left(\frac{K}{2}\right) \cdot J}\right)^2}^*\\ \mathbf{else}:\\ \;\;\;\;-U\\ \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 J < -7.384923856485112e-264 or 7.035784431961942e-228 < J

    1. Initial program 14.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. Initial simplification5.3

      \[\leadsto \sqrt{1^2 + \left(\frac{\frac{\frac{U}{2}}{J}}{\cos \left(\frac{K}{2}\right)}\right)^2}^* \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\]
    3. Using strategy rm
    4. Applied associate-/l/5.3

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

    if -7.384923856485112e-264 < J < 7.035784431961942e-228

    1. Initial program 40.9

      \[\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. Initial simplification27.6

      \[\leadsto \sqrt{1^2 + \left(\frac{\frac{\frac{U}{2}}{J}}{\cos \left(\frac{K}{2}\right)}\right)^2}^* \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt27.8

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

      \[\leadsto \color{blue}{\sqrt{\sqrt{1^2 + \left(\frac{\frac{\frac{U}{2}}{J}}{\cos \left(\frac{K}{2}\right)}\right)^2}^*} \cdot \left(\sqrt{\sqrt{1^2 + \left(\frac{\frac{\frac{U}{2}}{J}}{\cos \left(\frac{K}{2}\right)}\right)^2}^*} \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left(-2 \cdot J\right)\right)\right)}\]
    6. Taylor expanded around inf 33.5

      \[\leadsto \color{blue}{-1 \cdot U}\]
    7. Simplified33.5

      \[\leadsto \color{blue}{-U}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification8.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;J \le -7.384923856485112 \cdot 10^{-264} \lor \neg \left(J \le 7.035784431961942 \cdot 10^{-228}\right):\\ \;\;\;\;\left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1^2 + \left(\frac{\frac{U}{2}}{\cos \left(\frac{K}{2}\right) \cdot J}\right)^2}^*\\ \mathbf{else}:\\ \;\;\;\;-U\\ \end{array}\]

Reproduce

herbie shell --seed 2018362 +o rules:numerics
(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: 21.5s)Debug log

start343.0ms

Algorithm
intervals

setup385.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 9.2b

localize33.0ms

Local error

Found 4 expressions with local error:

9.2b
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
0.1b
(* (cos (/ K 2)) (* -2 J))
0.1b
(/ (/ (/ U 2) J) (cos (/ K 2)))
0.0b
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))

rewrite29.0ms

Algorithm
rewrite-expression-head
Counts
4 → 81
Calls

4 calls. Slowest were:

18.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
6.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
5.0ms
(* (cos (/ K 2)) (* -2 J))

series620.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

270.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
192.0ms
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))
99.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
59.0ms
(* (cos (/ K 2)) (* -2 J))

simplify2.5s

Counts
59 → 93
Calls

59 calls. Slowest were:

611.0ms
(/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))))
219.0ms
(- (log (/ (/ U 2) J)) (log (cos (/ K 2))))
209.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))

prune1.8s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 5.1b

localize14.0ms

Local error

Found 4 expressions with local error:

9.2b
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
0.1b
(* (cos (/ K 2)) J)
0.1b
(* (cos (/ K 2)) (* -2 J))
0.1b
(/ (/ U 2) (* (cos (/ K 2)) J))

rewrite31.0ms

Algorithm
rewrite-expression-head
Counts
4 → 74
Calls

4 calls. Slowest were:

10.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
9.0ms
(/ (/ U 2) (* (cos (/ K 2)) J))
7.0ms
(* (cos (/ K 2)) (* -2 J))

series397.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

222.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
69.0ms
(/ (/ U 2) (* (cos (/ K 2)) J))
55.0ms
(* (cos (/ K 2)) (* -2 J))
51.0ms
(* (cos (/ K 2)) J)

simplify2.3s

Counts
40 → 86
Calls

40 calls. Slowest were:

418.0ms
(/ (* (* (/ U 2) (/ U 2)) (/ U 2)) (* (* (* (cos (/ K 2)) J) (* (cos (/ K 2)) J)) (* (cos (/ K 2)) J)))
268.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
226.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))

prune1.4s

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 5.1b

localize6.0ms

Local error

Found 4 expressions with local error:

9.2b
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
0.1b
(/ (/ (/ U 2) J) (cos (/ K 2)))
0.1b
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2)))
0.0b
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))

rewrite35.0ms

Algorithm
rewrite-expression-head
Counts
4 → 81
Calls

4 calls. Slowest were:

12.0ms
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
11.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2)))
11.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))

series745.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

259.0ms
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
202.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2)))
182.0ms
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))
102.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))

simplify3.0s

Counts
60 → 93
Calls

60 calls. Slowest were:

726.0ms
(* (* (* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2)))) (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2)))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
614.0ms
(/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))))
199.0ms
(- (log (/ (/ U 2) J)) (log (cos (/ K 2))))

prune1.6s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 5.1b

localize11.0ms

Local error

Found 4 expressions with local error:

9.2b
(sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))))
9.2b
(sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))))
0.2b
(* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J)))
0.2b
(* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J))))

rewrite51.0ms

Algorithm
rewrite-expression-head
Counts
4 → 77
Calls

4 calls. Slowest were:

37.0ms
(* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J))))
11.0ms
(* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J)))
1.0ms
(sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))))

series784.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

243.0ms
(* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J))))
196.0ms
(* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J)))
176.0ms
(sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))))
168.0ms
(sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))))

simplify2.6s

Counts
47 → 89
Calls

47 calls. Slowest were:

169.0ms
(* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J))))
167.0ms
(+ (log (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))))) (log (* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J)))))
163.0ms
(* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (sqrt (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (cos (/ K 2)) (* -2 J))))

prune1.5s

Pruning

11 alts after pruning (9 fresh and 2 done)

Merged error: 5.1b

regimes625.0ms

Accuracy

-16.1% (4.3b remaining)

Error of 8.1b against oracle of 3.8b and baseline of 7.5b

bsearch516.0ms