Average Error: 16.8 → 7.7
Time: 32.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}\;U \le 2.098865823907058 \cdot 10^{+252}:\\ \;\;\;\;\left(\left(J \cdot -2\right) \cdot \cos \left(\frac{K}{2}\right)\right) \cdot \sqrt{1^2 + \left(\frac{\frac{U}{2}}{J \cdot \cos \left(\frac{K}{2}\right)}\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 U < 2.098865823907058e+252

    1. Initial program 15.8

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

      \[\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/6.6

      \[\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 2.098865823907058e+252 < U

    1. Initial program 41.7

      \[\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 simplification28.8

      \[\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/28.7

      \[\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)\]
    5. Taylor expanded around -inf 32.7

      \[\leadsto \color{blue}{-1 \cdot U}\]
    6. Simplified32.7

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

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

Reproduce

herbie shell --seed 2018360 +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: 22.4s)Debug log

start287.0ms

Algorithm
intervals

setup701.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 7.8b

localize54.0ms

Local error

Found 4 expressions with local error:

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

rewrite42.0ms

Algorithm
rewrite-expression-head
Counts
4 → 81
Calls

4 calls. Slowest were:

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

series632.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

275.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
196.0ms
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))
102.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
59.0ms
(* (cos (/ K 2)) (* -2 J))

simplify2.3s

Counts
59 → 93
Calls

59 calls. Slowest were:

488.0ms
(/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))))
242.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
185.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))

prune1.5s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 2.8b

localize23.0ms

Local error

Found 4 expressions with local error:

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

rewrite51.0ms

Algorithm
rewrite-expression-head
Counts
4 → 74
Calls

4 calls. Slowest were:

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

series492.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

286.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
94.0ms
(/ (/ U 2) (* (cos (/ K 2)) J))
59.0ms
(* (cos (/ K 2)) (* -2 J))
52.0ms
(* (cos (/ K 2)) J)

simplify1.7s

Counts
40 → 86
Calls

40 calls. Slowest were:

257.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
192.0ms
(- (log (/ U 2)) (log (* (cos (/ K 2)) J)))
186.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))

prune1.4s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 2.8b

localize12.0ms

Local error

Found 4 expressions with local error:

7.5b
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
0.3b
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2)))
0.2b
(/ (/ (/ U 2) J) (cos (/ K 2)))
0.0b
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))

rewrite45.0ms

Algorithm
rewrite-expression-head
Counts
4 → 81
Calls

4 calls. Slowest were:

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

series782.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

254.0ms
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
239.0ms
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))
197.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2)))
93.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))

simplify3.0s

Counts
60 → 93
Calls

60 calls. Slowest were:

803.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)))
531.0ms
(/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))))
162.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))

prune1.5s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 2.8b

localize13.0ms

Local error

Found 4 expressions with local error:

7.5b
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
7.5b
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
7.5b
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
0.6b
(cbrt (* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J)))

rewrite43.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

13.0ms
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
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))) (* -2 J))

series1.2s

Counts
4 → 12
Calls

4 calls. Slowest were:

416.0ms
(cbrt (* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J)))
277.0ms
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
262.0ms
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))
259.0ms
(* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (cos (/ K 2))) (* -2 J))

simplify4.4s

Counts
34 → 77
Calls

34 calls. Slowest were:

826.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)))
755.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)))
660.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)))

prune1.6s

Pruning

9 alts after pruning (6 fresh and 3 done)

Merged error: 2.8b

regimes421.0ms

Accuracy

-4.2% (4.0b remaining)

Error of 7.7b against oracle of 3.7b and baseline of 7.5b

bsearch197.0ms