Average Error: 17.6 → 9.2
Time: 25.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}\;K \le -3.5201966281538502 \cdot 10^{+81} \lor \neg \left(K \le -8.865955989706373 \cdot 10^{+34}\right):\\ \;\;\;\;\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 K < -3.5201966281538502e+81 or -8.865955989706373e+34 < K

    1. Initial program 17.6

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

      \[\leadsto \color{blue}{\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/7.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)\]

    if -3.5201966281538502e+81 < K < -8.865955989706373e+34

    1. Initial program 17.2

      \[\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. Simplified7.9

      \[\leadsto \color{blue}{\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/7.8

      \[\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. Using strategy rm
    6. Applied div-inv7.8

      \[\leadsto \sqrt{1^2 + \left(\frac{\color{blue}{U \cdot \frac{1}{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)\]
    7. Applied times-frac8.0

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

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

      \[\leadsto \color{blue}{-1 \cdot U}\]
    10. Simplified44.7

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;K \le -3.5201966281538502 \cdot 10^{+81} \lor \neg \left(K \le -8.865955989706373 \cdot 10^{+34}\right):\\ \;\;\;\;\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 2019016 +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: 24.1s)Debug log

sample224.0ms

Algorithm
intervals
Results
256×(pre true 80)
140×(body real 80)
49×(body real 1280)
39×(body real 640)
21×(body real 320)
(body real 160)

simplify309.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
309.0ms
(* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))))

prune29.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 8.3b

localize49.0ms

Local error

Found 4 expressions with local error:

8.3b
(* (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))))

rewrite49.0ms

Algorithm
rewrite-expression-head
Rules
15×add-cube-cbrt
15×*-un-lft-identity
15×add-sqr-sqrt
13×add-exp-log
13×add-cbrt-cube
12×times-frac
11×pow1
associate-*l*
div-inv
add-log-exp
associate-/l*
log1p-expm1-u
cbrt-unprod
prod-exp
pow-prod-down
expm1-log1p-u
associate-/r*
*-commutative
associate-*r*
associate-/l/
div-exp
frac-2neg
clear-num
hypot-udef
cbrt-undiv
Counts
4 → 81
Calls
4 calls:
Slowest
21.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
16.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
9.0ms
(* (cos (/ K 2)) (* -2 J))
0.0ms
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))

series635.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
237.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
221.0ms
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))
116.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
60.0ms
(* (cos (/ K 2)) (* -2 J))

simplify2.4s

Counts
59 → 93
Calls
59 calls:
Slowest
610.0ms
(/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))))
180.0ms
(- (log (/ (/ U 2) J)) (log (cos (/ K 2))))
160.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
151.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
120.0ms
(* (* (* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))) (* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J))))

prune1.1s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 4.5b

localize11.0ms

Local error

Found 4 expressions with local error:

8.3b
(* (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))

rewrite38.0ms

Algorithm
rewrite-expression-head
Rules
13×add-exp-log
13×add-cbrt-cube
11×pow1
add-cube-cbrt
associate-*l*
*-un-lft-identity
add-sqr-sqrt
add-log-exp
associate-/l*
log1p-expm1-u
cbrt-unprod
prod-exp
pow-prod-down
times-frac
expm1-log1p-u
div-inv
*-commutative
associate-*r*
associate-/l/
div-exp
frac-2neg
associate-/r*
clear-num
cbrt-undiv
Counts
4 → 74
Calls
4 calls:
Slowest
13.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))
6.0ms
(* (cos (/ K 2)) J)

series421.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
263.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
59.0ms
(/ (/ U 2) (* (cos (/ K 2)) J))
51.0ms
(* (cos (/ K 2)) J)
49.0ms
(* (cos (/ K 2)) (* -2 J))

simplify1.8s

Counts
40 → 86
Calls
40 calls:
Slowest
209.0ms
(- (log (/ U 2)) (log (* (cos (/ K 2)) J)))
172.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
162.0ms
(- J (* 1/8 (* (pow K 2) J)))
149.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
131.0ms
(- (+ (* 2 J) (* 1/4 (/ (pow U 2) J))))

prune1.2s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 4.5b

localize25.0ms

Local error

Found 4 expressions with local error:

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

rewrite21.0ms

Algorithm
rewrite-expression-head
Rules
13×add-exp-log
13×add-cbrt-cube
13×pow1
10×associate-*l*
add-cube-cbrt
*-un-lft-identity
add-sqr-sqrt
associate-*r*
cbrt-unprod
prod-exp
pow-prod-down
add-log-exp
log1p-expm1-u
expm1-log1p-u
div-inv
*-commutative
associate-/r*
associate-*r/
associate-*l/
frac-2neg
clear-num
frac-times
Counts
4 → 76
Calls
4 calls:
Slowest
11.0ms
(* (hypot 1 (* (/ U (cos (/ K 2))) (/ 1/2 J))) (* (cos (/ K 2)) (* -2 J)))
5.0ms
(* (cos (/ K 2)) (* -2 J))
4.0ms
(* (/ U (cos (/ K 2))) (/ 1/2 J))
1.0ms
(/ U (cos (/ K 2)))

series495.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
280.0ms
(* (hypot 1 (* (/ U (cos (/ K 2))) (/ 1/2 J))) (* (cos (/ K 2)) (* -2 J)))
97.0ms
(* (/ U (cos (/ K 2))) (/ 1/2 J))
75.0ms
(/ U (cos (/ K 2)))
43.0ms
(* (cos (/ K 2)) (* -2 J))

simplify2.3s

Counts
41 → 88
Calls
41 calls:
Slowest
474.0ms
(* (* (* (/ U (cos (/ K 2))) (/ U (cos (/ K 2)))) (/ U (cos (/ K 2)))) (* (* (/ 1/2 J) (/ 1/2 J)) (/ 1/2 J)))
250.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
218.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
160.0ms
(+ (log (/ U (cos (/ K 2)))) (log (/ 1/2 J)))
139.0ms
(+ (log (hypot 1 (* (/ U (cos (/ K 2))) (/ 1/2 J)))) (log (* (cos (/ K 2)) (* -2 J))))

prune1.2s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 4.5b

localize9.0ms

Local error

Found 4 expressions with local error:

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

rewrite48.0ms

Algorithm
rewrite-expression-head
Rules
18×add-exp-log
18×add-cbrt-cube
18×pow1
12×sqrt-prod
12×associate-*l*
12×add-sqr-sqrt
10×add-cube-cbrt
10×*-un-lft-identity
cbrt-unprod
prod-exp
pow-prod-down
add-log-exp
log1p-expm1-u
expm1-log1p-u
*-commutative
associate-*r*
pow1/2
rem-sqrt-square
Counts
4 → 77
Calls
4 calls:
Slowest
30.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))))
15.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))
1.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
1.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))

series1.3s

Counts
4 → 12
Calls
4 calls:
Slowest
556.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
267.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))))
253.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))
184.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))

simplify2.4s

Counts
47 → 89
Calls
47 calls:
Slowest
201.0ms
(+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (log (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))))
192.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))))
169.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))))
164.0ms
(+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (+ (log (cos (/ K 2))) (log (* -2 J)))))
140.0ms
(* (* (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (* (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))))

prune1.2s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 4.5b

regimes455.0ms

Accuracy

-41.4% (5.3b remaining)

Error of 9.2b against oracle of 3.9b and baseline of 7.7b

bsearch308.0ms

end0.0ms

sample6.1s

Algorithm
intervals
Results
8004×(pre true 80)
4295×(body real 80)
1531×(body real 1280)
1226×(body real 640)
650×(body real 320)
302×(body real 160)