Average Error: 17.1 → 7.8
Time: 21.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}}\]
\[\sqrt{1^2 + \left(\frac{\frac{U}{2}}{J \cdot \cos \left(\frac{K}{2}\right)}\right)^2}^* \cdot \left(\left(-2 \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)\right)\]

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. Initial program 17.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. Simplified7.8

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

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

Reproduce

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

sample164.0ms

Algorithm
intervals

simplify320.0ms

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

prune15.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 6.0b

localize45.0ms

Local error

Found 3 expressions with local error:

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

rewrite30.0ms

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

series385.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
247.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
89.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
49.0ms
(* (cos (/ K 2)) (* -2 J))

simplify2.5s

Counts
56 → 80
Calls
56 calls:
Slowest
523.0ms
(/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))))
264.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
174.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
145.0ms
(- (log (/ (/ U 2) J)) (log (cos (/ K 2))))
126.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

9 alts after pruning (9 fresh and 0 done)

Merged error: 2.6b

localize12.0ms

Local error

Found 4 expressions with local error:

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

rewrite49.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
22.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
10.0ms
(* (cos (/ K 2)) (* -2 J))
9.0ms
(/ (/ U 2) (* (cos (/ K 2)) J))
7.0ms
(* (cos (/ K 2)) J)

series420.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
269.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
58.0ms
(/ (/ U 2) (* (cos (/ K 2)) J))
48.0ms
(* (cos (/ K 2)) J)
43.0ms
(* (cos (/ K 2)) (* -2 J))

simplify2.0s

Counts
40 → 86
Calls
40 calls:
Slowest
427.0ms
(/ (* (* (/ U 2) (/ U 2)) (/ U 2)) (* (* (* (cos (/ K 2)) J) (* (cos (/ K 2)) J)) (* (cos (/ K 2)) J)))
219.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
199.0ms
(- (log (/ U 2)) (log (* (cos (/ K 2)) J)))
182.0ms
(- J (* 1/8 (* (pow K 2) J)))
181.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))

prune1.1s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 2.6b

localize11.0ms

Local error

Found 4 expressions with local error:

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

rewrite18.0ms

Algorithm
rewrite-expression-head
Rules
11×add-exp-log
11×add-cbrt-cube
11×pow1
11×add-sqr-sqrt
sqrt-prod
add-cube-cbrt
associate-*l*
*-un-lft-identity
add-log-exp
log1p-expm1-u
cbrt-unprod
prod-exp
pow-prod-down
expm1-log1p-u
*-commutative
associate-*r*
pow1/2
rem-sqrt-square
Counts
4 → 68
Calls
4 calls:
Slowest
11.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))
5.0ms
(* (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))))

series635.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
249.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))
178.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
171.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
35.0ms
(* (cos (/ K 2)) (* -2 J))

simplify1.2s

Counts
37 → 80
Calls
37 calls:
Slowest
176.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
111.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))))) (* (* (* (cos (/ K 2)) (* -2 J)) (* (cos (/ K 2)) (* -2 J))) (* (cos (/ K 2)) (* -2 J))))
94.0ms
(- (+ (* 2 J) (* 1/8 (/ (pow U 2) J))))
93.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))))) (* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J))))
80.0ms
(+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (log (* (cos (/ K 2)) (* -2 J))))

prune1.2s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 2.6b

localize19.0ms

Local error

Found 4 expressions with local error:

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

rewrite10.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt
sqrt-prod
add-cube-cbrt
*-un-lft-identity
add-exp-log
add-cbrt-cube
pow1
add-log-exp
log1p-expm1-u
expm1-log1p-u
associate-*l*
pow1/2
rem-sqrt-square
cbrt-unprod
*-commutative
prod-exp
pow-prod-down
associate-*r*
Counts
4 → 59
Calls
4 calls:
Slowest
7.0ms
(* (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))))
1.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))

series598.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
199.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
174.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
166.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
59.0ms
(* (cos (/ K 2)) (* -2 J))

simplify677.0ms

Counts
29 → 71
Calls
29 calls:
Slowest
215.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
62.0ms
(- (* 1/4 (* (pow K 2) J)) (* 2 J))
40.0ms
(sqrt (* (cbrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (cbrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))))
40.0ms
(sqrt (* (cbrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (cbrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))))
38.0ms
(sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))))

prune1.1s

Pruning

8 alts after pruning (6 fresh and 2 done)

Merged error: 2.6b

regimes433.0ms

Accuracy

0% (4.0b remaining)

Error of 7.8b against oracle of 3.8b and baseline of 7.8b

bsearch2.0ms

end0.0ms

sample5.8s

Algorithm
intervals