Average Error: 17.3 → 7.6
Time: 29.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}}\]
\[\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.3

    \[\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.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)\]
  5. Final simplification7.6

    \[\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 2019002 +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: 28.5s)Debug log

sample210.0ms

Algorithm
intervals

simplify342.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune26.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 8.1b

localize48.0ms

Local error

Found 4 expressions with local error:

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

rewrite21.0ms

Algorithm
rewrite-expression-head
Counts
4 → 81
Calls

4 calls. Slowest were:

10.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
5.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
4.0ms
(* (cos (/ K 2)) (* -2 J))

series631.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

287.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
180.0ms
(hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2))))
106.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
59.0ms
(* (cos (/ K 2)) (* -2 J))

simplify2.4s

Counts
59 → 93
Calls

59 calls. Slowest were:

580.0ms
(/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))))
218.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
177.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))

prune1.2s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 5.1b

localize12.0ms

Local error

Found 4 expressions with local error:

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

rewrite33.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
(* (cos (/ K 2)) (* -2 J))
6.0ms
(* (cos (/ K 2)) J)

series465.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

283.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
86.0ms
(/ (/ U 2) (* (cos (/ K 2)) J))
51.0ms
(* (cos (/ K 2)) J)
44.0ms
(* (cos (/ K 2)) (* -2 J))

simplify1.7s

Counts
40 → 86
Calls

40 calls. Slowest were:

205.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
190.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
181.0ms
(- J (* 1/8 (* (pow K 2) J)))

prune1.3s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 5.1b

localize28.0ms

Local error

Found 4 expressions with local error:

8.0b
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))) (* (cbrt (cos (/ K 2))) (* -2 J))))
0.3b
(cbrt (cos (/ K 2)))
0.3b
(cbrt (cos (/ K 2)))
0.3b
(cbrt (cos (/ K 2)))

rewrite90.0ms

Algorithm
rewrite-expression-head
Counts
4 → 68
Calls

4 calls. Slowest were:

84.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))) (* (cbrt (cos (/ K 2))) (* -2 J))))
1.0ms
(cbrt (cos (/ K 2)))
1.0ms
(cbrt (cos (/ K 2)))

series847.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

294.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))) (* (cbrt (cos (/ K 2))) (* -2 J))))
192.0ms
(cbrt (cos (/ K 2)))
185.0ms
(cbrt (cos (/ K 2)))
176.0ms
(cbrt (cos (/ K 2)))

simplify3.8s

Counts
39 → 80
Calls

39 calls. Slowest were:

353.0ms
(+ (log (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (+ (log (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (+ (log (cbrt (cos (/ K 2)))) (log (* -2 J)))))
283.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))) (* (cbrt (cos (/ K 2))) (* -2 J))))
277.0ms
(+ (log (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (+ (log (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (log (* (cbrt (cos (/ K 2))) (* -2 J)))))

prune1.2s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 5.1b

localize23.0ms

Local error

Found 4 expressions with local error:

8.0b
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))) (* (log1p (expm1 (cbrt (cos (/ K 2))))) (* -2 J))))
0.6b
(expm1 (cbrt (cos (/ K 2))))
0.3b
(cbrt (cos (/ K 2)))
0.3b
(cbrt (cos (/ K 2)))

rewrite78.0ms

Algorithm
rewrite-expression-head
Counts
4 → 66
Calls

4 calls. Slowest were:

74.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))) (* (log1p (expm1 (cbrt (cos (/ K 2))))) (* -2 J))))
1.0ms
(cbrt (cos (/ K 2)))
1.0ms
(cbrt (cos (/ K 2)))

series1.0s

Counts
4 → 12
Calls

4 calls. Slowest were:

408.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2)))) (* (log1p (expm1 (cbrt (cos (/ K 2))))) (* -2 J))))
346.0ms
(expm1 (cbrt (cos (/ K 2))))
178.0ms
(cbrt (cos (/ K 2)))
117.0ms
(cbrt (cos (/ K 2)))

simplify4.4s

Counts
37 → 78
Calls

37 calls. Slowest were:

730.0ms
(+ (log (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (+ (log (* (cbrt (cos (/ K 2))) (cbrt (cos (/ K 2))))) (log (* (log1p (expm1 (cbrt (cos (/ K 2))))) (* -2 J)))))
417.0ms
(- E (+ (* 1/24 (* (pow K 2) E)) (+ (* 13/414720 (* (pow K 6) E)) 1)))
326.0ms
(+ (log (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (+ (+ (log (cbrt (cos (/ K 2)))) (log (cbrt (cos (/ K 2))))) (log (* (log1p (expm1 (cbrt (cos (/ K 2))))) (* -2 J)))))

prune1.4s

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 5.1b

regimes438.0ms

Accuracy

0% (3.6b remaining)

Error of 7.6b against oracle of 4.1b and baseline of 7.6b

bsearch3.0ms

end0.0ms

sample6.7s

Algorithm
intervals