Average Error: 16.7 → 7.7
Time: 25.8s
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 16.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. 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)\]
  5. Final simplification7.7

    \[\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 2019007 +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.3s)Debug log

sample189.0ms

Algorithm
intervals

simplify305.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune17.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 8.8b

localize55.0ms

Local error

Found 3 expressions with local error:

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

rewrite48.0ms

Algorithm
rewrite-expression-head
Counts
3 → 71
Calls

3 calls. Slowest were:

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

series427.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

275.0ms
(* (hypot 1 (/ (/ (/ U 2) J) (cos (/ K 2)))) (* (cos (/ K 2)) (* -2 J)))
113.0ms
(/ (/ (/ U 2) J) (cos (/ K 2)))
39.0ms
(* (cos (/ K 2)) (* -2 J))

simplify2.4s

Counts
56 → 80
Calls

56 calls. Slowest were:

515.0ms
(/ (* (* (/ (/ U 2) J) (/ (/ U 2) J)) (/ (/ U 2) J)) (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))))
205.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))
203.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))

prune967.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 4.2b

localize19.0ms

Local error

Found 4 expressions with local error:

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

rewrite47.0ms

Algorithm
rewrite-expression-head
Counts
4 → 74
Calls

4 calls. Slowest were:

21.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))

series435.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

247.0ms
(* (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))) (* (cos (/ K 2)) (* -2 J)))
91.0ms
(/ (/ U 2) (* (cos (/ K 2)) J))
59.0ms
(* (cos (/ K 2)) (* -2 J))
39.0ms
(* (cos (/ K 2)) J)

simplify1.7s

Counts
40 → 86
Calls

40 calls. Slowest were:

230.0ms
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
175.0ms
(- J (* 1/8 (* (pow K 2) J)))
169.0ms
(* (* (* (cos (/ K 2)) (cos (/ K 2))) (cos (/ K 2))) (* (* (* -2 J) (* -2 J)) (* -2 J)))

prune1.1s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 4.2b

localize17.0ms

Local error

Found 4 expressions with local error:

8.8b
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
8.8b
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 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))))
0.1b
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))

rewrite67.0ms

Algorithm
rewrite-expression-head
Counts
4 → 77
Calls

4 calls. Slowest were:

50.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))))
13.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))
2.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))

series770.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

240.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J)))
225.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (cos (/ K 2)) (* -2 J))))
153.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
151.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))

simplify2.4s

Counts
47 → 89
Calls

47 calls. Slowest were:

190.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)))))
145.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)) (* -2 J)) (* (cos (/ K 2)) (* -2 J))) (* (cos (/ K 2)) (* -2 J)))))
139.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)) (* -2 J)))))

prune1.3s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 4.2b

localize24.0ms

Local error

Found 4 expressions with local error:

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

rewrite82.0ms

Algorithm
rewrite-expression-head
Counts
4 → 71
Calls

4 calls. Slowest were:

76.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (cos (/ K 2)) (* -2 J)))))
2.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
1.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))

series881.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

262.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (cos (/ K 2)) (* -2 J)))))
213.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
204.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))
201.0ms
(sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))

simplify3.3s

Counts
42 → 83
Calls

42 calls. Slowest were:

550.0ms
(* (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))) (* (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (cos (/ K 2)) (* -2 J)))))
414.0ms
(+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (+ (log (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))))) (+ (log (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))))) (+ (log (cos (/ K 2))) (log (* -2 J))))))
255.0ms
(+ (log (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (+ (log (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J)))))) (log (* (sqrt (sqrt (hypot 1 (/ (/ U 2) (* (cos (/ K 2)) J))))) (* (cos (/ K 2)) (* -2 J))))))

prune1.2s

Pruning

8 alts after pruning (6 fresh and 2 done)

Merged error: 4.2b

regimes385.0ms

Accuracy

0% (3.9b remaining)

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

bsearch3.0ms

end0.0ms

sample6.1s

Algorithm
intervals