Maksimov and Kolovsky, Equation (3)

Time bar (total: 2.3s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze248.0ms (10.6%)

Memory
15.0MiB live, 289.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
37.5%37.4%62.4%0.1%0%0%0%6
37.5%37.4%62.4%0.1%0%0%0%7
43.8%43.7%56.2%0.1%0%0%0%8
43.8%43.7%56.2%0.1%0%0%0%9
43.8%43.7%56.2%0.1%0%0%0%10
46.9%46.8%53%0.1%0%0%0%11
46.9%46.8%53%0.1%0%0%0%12
Compiler

Compiled 26 to 19 computations (26.9% saved)

sample1.4s (60.2%)

Memory
65.3MiB live, 1 763.7MiB allocated
Samples
1.1s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 803.0ms
ival-mult: 263.0ms (32.8% of total)
ival-cos: 190.0ms (23.7% of total)
ival-div: 128.0ms (15.9% of total)
ival-pow2: 105.0ms (13.1% of total)
ival-sqrt: 56.0ms (7% of total)
ival-add: 38.0ms (4.7% of total)
exact: 13.0ms (1.6% of total)
ival-true: 6.0ms (0.7% of total)
ival-assert: 3.0ms (0.4% of total)
Bogosity

explain216.0ms (9.2%)

Memory
-29.7MiB live, 382.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
380-0-(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))
350-0-(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
00-0-(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
00-0-K
00-0-(/.f64 K #s(literal 2 binary64))
00-0-#s(literal 1 binary64)
0122(3.208186055830766e+159 -2.8619382683829847e+180 -4.229551257392247e+131)0-(cos.f64 (/.f64 K #s(literal 2 binary64)))
00-0-(*.f64 #s(literal 2 binary64) J)
00-0-U
00-0-(+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))
00-0-(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
00-0-(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))
00-0-J
00-0-(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
00-0-#s(literal 2 binary64)
00-0-#s(literal -2 binary64)
00-0-(*.f64 #s(literal -2 binary64) J)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.f64(cos.f64 (/.f64 K #s(literal 2 binary64)))sensitivity1220
sqrt.f64(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))oflow-rescue380
(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))overflow35
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))overflow35
(+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))overflow73
(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))overflow73
*.f64(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))n*o350
Confusion
Predicted +Predicted -
+730
-8895
Precision
0.453416149068323
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+7300
-88095
Precision?
0.453416149068323
Recall?
1.0
Freqs
test
numberfreq
095
1127
234
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
69.0ms512×0valid
Compiler

Compiled 358 to 72 computations (79.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 48.0ms
ival-mult: 16.0ms (33.6% of total)
ival-cos: 12.0ms (25.2% of total)
ival-div: 8.0ms (16.8% of total)
ival-pow2: 5.0ms (10.5% of total)
ival-sqrt: 3.0ms (6.3% of total)
ival-add: 2.0ms (4.2% of total)
exact: 1.0ms (2.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
6.0MiB live, 6.0MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Outputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Compiler

Compiled 24 to 17 computations (29.2% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
72.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Compiler

Compiled 24 to 17 computations (29.2% saved)

simplify1.0ms (0%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))
#s(literal 1 binary64)
(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)
Outputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))
#s(literal 1 binary64)
(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)

localize47.0ms (2%)

Memory
3.6MiB live, 80.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.14453125
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
accuracy0.28810502930532605
(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))
accuracy8.321535625204412
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
accuracy8.88722586080266
(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))
Samples
36.0ms256×0valid
Compiler

Compiled 222 to 36 computations (83.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-mult: 8.0ms (31.2% of total)
ival-cos: 8.0ms (31.2% of total)
ival-div: 3.0ms (11.7% of total)
ival-pow2: 3.0ms (11.7% of total)
ival-sqrt: 2.0ms (7.8% of total)
ival-add: 1.0ms (3.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series47.0ms (2%)

Memory
2.3MiB live, 84.1MiB allocated
Counts
7 → 65
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))
(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
Outputs
(* -1 U)
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(* -2 (* J (cos (* 1/2 K))))
(* -2 J)
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (+ (* -1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3))))))))
1
(+ 1 (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (+ (* 1/1024 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* -1 (* J (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K)))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))))
(* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* -2 (* (pow K 2) (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))) (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/16 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* -1/46080 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (+ (* 1/12288 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))) (* -2 (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))))))
(+ (* -2 J) (* 1/4 (* J (pow K 2))))
(+ (* -2 J) (* (pow K 2) (+ (* -1/192 (* J (pow K 2))) (* 1/4 J))))
(+ (* -2 J) (* (pow K 2) (+ (* 1/4 J) (* (pow K 2) (+ (* -1/192 J) (* 1/23040 (* J (pow K 2))))))))
(+ 1 (* -1/8 (pow K 2)))
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8)))
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8)))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* 1/32 (* (/ (* (pow K 2) (pow U 2)) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* (pow K 2) (+ (* 1/2 (* (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(* 1/4 (/ (pow U 2) (pow J 2)))
(+ (* 1/16 (/ (* (pow K 2) (pow U 2)) (pow J 2))) (* 1/4 (/ (pow U 2) (pow J 2))))
(+ (* 1/4 (/ (pow U 2) (pow J 2))) (* (pow K 2) (+ (* -1/4 (* (pow K 2) (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))) (* 1/16 (/ (pow U 2) (pow J 2))))))
(+ (* 1/4 (/ (pow U 2) (pow J 2))) (* (pow K 2) (+ (* 1/16 (/ (pow U 2) (pow J 2))) (* (pow K 2) (+ (* -1/4 (* (pow K 2) (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))))))) (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))))))))
(* 1/2 (/ U J))
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
(+ (* 1/2 (/ U J)) (* (pow K 2) (+ (* -1/2 (* (pow K 2) (+ (* -1/64 (/ U J)) (* 1/384 (/ U J))))) (* 1/16 (/ U J)))))
(+ (* 1/2 (/ U J)) (* (pow K 2) (+ (* 1/16 (/ U J)) (* (pow K 2) (+ (* -1/2 (* (pow K 2) (+ (* -1/46080 (/ U J)) (+ (* 1/3072 (/ U J)) (* 1/8 (+ (* -1/64 (/ U J)) (* 1/384 (/ U J)))))))) (* -1/2 (+ (* -1/64 (/ U J)) (* 1/384 (/ U J)))))))))
(* -2 (* (* J (cos (* 1/2 K))) (sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))))
(cos (* 1/2 K))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* -1/4 (/ (pow U 2) (* J (cos (* 1/2 K))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* 1/64 (/ (pow U 2) (* (pow J 3) (pow (cos (* 1/2 K)) 3)))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* (pow U 2) (+ (* -1/512 (/ (pow U 2) (* (pow J 5) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ 1 (* (pow J 3) (pow (cos (* 1/2 K)) 3)))))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ 1 (* (pow U 2) (+ (* -1/128 (/ (pow U 2) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(+ 1 (* (pow U 2) (+ (* (pow U 2) (- (* 1/1024 (/ (pow U 2) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/128 (/ 1 (* (pow J 4) (pow (cos (* 1/2 K)) 4)))))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1))
(* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1))
(* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1))
(* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
U
(* -1 (* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1)))
(* -1 (* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1)))
(* -1 (* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1)))
(* -1/2 (/ U (* J (cos (* 1/2 K)))))
(* -1 (* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))))
Calls

9 calls:

TimeVariablePointExpression
8.0ms
J
@-inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (/ U (* (* 2 J) (cos (/ K 2)))))
7.0ms
K
@inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (/ U (* (* 2 J) (cos (/ K 2)))))
6.0ms
J
@0
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (/ U (* (* 2 J) (cos (/ K 2)))))
6.0ms
K
@0
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (/ U (* (* 2 J) (cos (/ K 2)))))
5.0ms
U
@0
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2) (/ U (* (* 2 J) (cos (/ K 2)))))

simplify2.0ms (0.1%)

Memory
5.2MiB live, 5.2MiB allocated
Algorithm
egg-herbie
Counts
65 → 7
Calls
Call 1
Inputs
(* -1 U)
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(* -2 (* J (cos (* 1/2 K))))
(* -2 J)
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (+ (* -1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3))))))))
1
(+ 1 (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (+ (* 1/1024 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* -1 (* J (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K)))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))))
(* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* -2 (* (pow K 2) (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))) (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/16 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* -1/46080 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (+ (* 1/12288 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))) (* -2 (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))))))
(+ (* -2 J) (* 1/4 (* J (pow K 2))))
(+ (* -2 J) (* (pow K 2) (+ (* -1/192 (* J (pow K 2))) (* 1/4 J))))
(+ (* -2 J) (* (pow K 2) (+ (* 1/4 J) (* (pow K 2) (+ (* -1/192 J) (* 1/23040 (* J (pow K 2))))))))
(+ 1 (* -1/8 (pow K 2)))
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8)))
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8)))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* 1/32 (* (/ (* (pow K 2) (pow U 2)) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* (pow K 2) (+ (* 1/2 (* (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(* 1/4 (/ (pow U 2) (pow J 2)))
(+ (* 1/16 (/ (* (pow K 2) (pow U 2)) (pow J 2))) (* 1/4 (/ (pow U 2) (pow J 2))))
(+ (* 1/4 (/ (pow U 2) (pow J 2))) (* (pow K 2) (+ (* -1/4 (* (pow K 2) (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))) (* 1/16 (/ (pow U 2) (pow J 2))))))
(+ (* 1/4 (/ (pow U 2) (pow J 2))) (* (pow K 2) (+ (* 1/16 (/ (pow U 2) (pow J 2))) (* (pow K 2) (+ (* -1/4 (* (pow K 2) (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))))))) (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))))))))
(* 1/2 (/ U J))
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
(+ (* 1/2 (/ U J)) (* (pow K 2) (+ (* -1/2 (* (pow K 2) (+ (* -1/64 (/ U J)) (* 1/384 (/ U J))))) (* 1/16 (/ U J)))))
(+ (* 1/2 (/ U J)) (* (pow K 2) (+ (* 1/16 (/ U J)) (* (pow K 2) (+ (* -1/2 (* (pow K 2) (+ (* -1/46080 (/ U J)) (+ (* 1/3072 (/ U J)) (* 1/8 (+ (* -1/64 (/ U J)) (* 1/384 (/ U J)))))))) (* -1/2 (+ (* -1/64 (/ U J)) (* 1/384 (/ U J)))))))))
(* -2 (* (* J (cos (* 1/2 K))) (sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))))
(cos (* 1/2 K))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* -1/4 (/ (pow U 2) (* J (cos (* 1/2 K))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* 1/64 (/ (pow U 2) (* (pow J 3) (pow (cos (* 1/2 K)) 3)))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* (pow U 2) (+ (* -1/512 (/ (pow U 2) (* (pow J 5) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ 1 (* (pow J 3) (pow (cos (* 1/2 K)) 3)))))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ 1 (* (pow U 2) (+ (* -1/128 (/ (pow U 2) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(+ 1 (* (pow U 2) (+ (* (pow U 2) (- (* 1/1024 (/ (pow U 2) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/128 (/ 1 (* (pow J 4) (pow (cos (* 1/2 K)) 4)))))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1))
(* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1))
(* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1))
(* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
U
(* -1 (* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1)))
(* -1 (* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1)))
(* -1 (* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1)))
(* -1/2 (/ U (* J (cos (* 1/2 K)))))
(* -1 (* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))))
Outputs
(* -1 U)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(*.f64 #s(literal -2 binary64) J)
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(* -2 (* J (cos (* 1/2 K))))
(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))
(* -2 J)
(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))

rewrite0.0ms (0%)

Memory
1.8MiB live, 1.9MiB allocated
Counts
7 → 7
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))
(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
Outputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))))
(pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))

eval2.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
Compiler

Compiled 443 to 42 computations (90.5% saved)

prune2.0ms (0.1%)

Memory
5.1MiB live, 5.1MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New11415
Fresh000
Picked011
Done000
Total11516
Accuracy
78.6%
Counts
16 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
72.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
16.3%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
51.8%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
29.7%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
3.3%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
Compiler

Compiled 149 to 106 computations (28.9% saved)

simplify1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
cost-diff0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
cost-diff0
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
cost-diff0
(/.f64 K #s(literal 2 binary64))
cost-diff0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
cost-diff0
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)
Outputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)

localize57.0ms (2.4%)

Memory
-28.7MiB live, 94.1MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.12890625
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
accuracy0.14453125
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
accuracy8.321535625204412
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
accuracy51.23362191201793
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
accuracy0.0
(*.f64 #s(literal -2 binary64) J)
accuracy0.0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
accuracy0.12890625
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
accuracy30.7927681353677
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
accuracy0.0
(*.f64 #s(literal -2 binary64) J)
accuracy44.961092507303405
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
accuracy0.0
(/.f64 K #s(literal 2 binary64))
accuracy0.0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
accuracy61.904781341363574
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
Samples
40.0ms256×0valid
Compiler

Compiled 424 to 50 computations (88.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-mult: 11.0ms (42.9% of total)
ival-cos: 5.0ms (19.5% of total)
ival-div: 3.0ms (11.7% of total)
ival-sqrt: 2.0ms (7.8% of total)
ival-pow2: 2.0ms (7.8% of total)
ival-add: 1.0ms (3.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series19.0ms (0.8%)

Memory
7.8MiB live, 46.9MiB allocated
Counts
10 → 61
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
Outputs
(* -1 U)
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(* -2 J)
(* -2 (* J (cos (* 1/2 K))))
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (+ (* -1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3))))))))
1
(+ 1 (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (+ (* 1/1024 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* -1 (* J (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K)))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))))
(* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* -2 (* (pow K 2) (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))) (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/16 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* -1/46080 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (+ (* 1/12288 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))) (* -2 (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))))))
(+ 1 (* -1/8 (pow K 2)))
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8)))
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8)))
(* 1/2 K)
(+ (* -2 J) (* 1/4 (* J (pow K 2))))
(+ (* -2 J) (* (pow K 2) (+ (* -1/192 (* J (pow K 2))) (* 1/4 J))))
(+ (* -2 J) (* (pow K 2) (+ (* 1/4 J) (* (pow K 2) (+ (* -1/192 J) (* 1/23040 (* J (pow K 2))))))))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* 1/32 (* (/ (* (pow K 2) (pow U 2)) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* (pow K 2) (+ (* 1/2 (* (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(* 1/2 (/ U J))
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
(+ (* 1/2 (/ U J)) (* (pow K 2) (+ (* -1/2 (* (pow K 2) (+ (* -1/64 (/ U J)) (* 1/384 (/ U J))))) (* 1/16 (/ U J)))))
(+ (* 1/2 (/ U J)) (* (pow K 2) (+ (* 1/16 (/ U J)) (* (pow K 2) (+ (* -1/2 (* (pow K 2) (+ (* -1/46080 (/ U J)) (+ (* 1/3072 (/ U J)) (* 1/8 (+ (* -1/64 (/ U J)) (* 1/384 (/ U J)))))))) (* -1/2 (+ (* -1/64 (/ U J)) (* 1/384 (/ U J)))))))))
(* -2 (* (* J (cos (* 1/2 K))) (sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))))
(cos (* 1/2 K))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* -1/4 (/ (pow U 2) (* J (cos (* 1/2 K))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* 1/64 (/ (pow U 2) (* (pow J 3) (pow (cos (* 1/2 K)) 3)))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* (pow U 2) (+ (* -1/512 (/ (pow U 2) (* (pow J 5) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ 1 (* (pow J 3) (pow (cos (* 1/2 K)) 3)))))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ 1 (* (pow U 2) (+ (* -1/128 (/ (pow U 2) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(+ 1 (* (pow U 2) (+ (* (pow U 2) (- (* 1/1024 (/ (pow U 2) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/128 (/ 1 (* (pow J 4) (pow (cos (* 1/2 K)) 4)))))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1))
(* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1))
(* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1))
(* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
U
(* -1 (* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1)))
(* -1 (* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1)))
(* -1 (* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1)))
(* -1/2 (/ U (* J (cos (* 1/2 K)))))
(* -1 (* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))))
Calls

9 calls:

TimeVariablePointExpression
4.0ms
K
@-inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos (/ K 2)) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* -2 J) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/ U (* (* 2 J) (cos (/ K 2)))))
2.0ms
K
@inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos (/ K 2)) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* -2 J) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/ U (* (* 2 J) (cos (/ K 2)))))
2.0ms
J
@0
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos (/ K 2)) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* -2 J) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/ U (* (* 2 J) (cos (/ K 2)))))
2.0ms
J
@inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos (/ K 2)) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* -2 J) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/ U (* (* 2 J) (cos (/ K 2)))))
2.0ms
J
@-inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos (/ K 2)) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* -2 J) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/ U (* (* 2 J) (cos (/ K 2)))))

simplify2.0ms (0.1%)

Memory
4.2MiB live, 4.2MiB allocated
Algorithm
egg-herbie
Counts
61 → 10
Calls
Call 1
Inputs
(* -1 U)
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(* -2 J)
(* -2 (* J (cos (* 1/2 K))))
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (+ (* -1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3))))))))
1
(+ 1 (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (+ (* 1/1024 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* -1 (* J (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K)))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))))
(* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* -2 (* (pow K 2) (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))) (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/16 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* -1/46080 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (+ (* 1/12288 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))) (* -2 (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))))))
(+ 1 (* -1/8 (pow K 2)))
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8)))
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8)))
(* 1/2 K)
(+ (* -2 J) (* 1/4 (* J (pow K 2))))
(+ (* -2 J) (* (pow K 2) (+ (* -1/192 (* J (pow K 2))) (* 1/4 J))))
(+ (* -2 J) (* (pow K 2) (+ (* 1/4 J) (* (pow K 2) (+ (* -1/192 J) (* 1/23040 (* J (pow K 2))))))))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* 1/32 (* (/ (* (pow K 2) (pow U 2)) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* (pow K 2) (+ (* 1/2 (* (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(* 1/2 (/ U J))
(+ (* 1/16 (/ (* (pow K 2) U) J)) (* 1/2 (/ U J)))
(+ (* 1/2 (/ U J)) (* (pow K 2) (+ (* -1/2 (* (pow K 2) (+ (* -1/64 (/ U J)) (* 1/384 (/ U J))))) (* 1/16 (/ U J)))))
(+ (* 1/2 (/ U J)) (* (pow K 2) (+ (* 1/16 (/ U J)) (* (pow K 2) (+ (* -1/2 (* (pow K 2) (+ (* -1/46080 (/ U J)) (+ (* 1/3072 (/ U J)) (* 1/8 (+ (* -1/64 (/ U J)) (* 1/384 (/ U J)))))))) (* -1/2 (+ (* -1/64 (/ U J)) (* 1/384 (/ U J)))))))))
(* -2 (* (* J (cos (* 1/2 K))) (sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))))
(cos (* 1/2 K))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* -1/4 (/ (pow U 2) (* J (cos (* 1/2 K))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* 1/64 (/ (pow U 2) (* (pow J 3) (pow (cos (* 1/2 K)) 3)))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* (pow U 2) (+ (* -1/512 (/ (pow U 2) (* (pow J 5) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ 1 (* (pow J 3) (pow (cos (* 1/2 K)) 3)))))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ 1 (* (pow U 2) (+ (* -1/128 (/ (pow U 2) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(+ 1 (* (pow U 2) (+ (* (pow U 2) (- (* 1/1024 (/ (pow U 2) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/128 (/ 1 (* (pow J 4) (pow (cos (* 1/2 K)) 4)))))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1))
(* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1))
(* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1))
(* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
U
(* -1 (* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1)))
(* -1 (* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1)))
(* -1 (* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1)))
(* -1/2 (/ U (* J (cos (* 1/2 K)))))
(* -1 (* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))))
Outputs
(* -1 U)
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(/.f64 K #s(literal 2 binary64))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
(* -2 J)
(*.f64 #s(literal -2 binary64) J)
(* -2 (* J (cos (* 1/2 K))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))

rewrite1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
Outputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))

eval3.0ms (0.1%)

Memory
8.2MiB live, 8.2MiB allocated
Compiler

Compiled 1 146 to 48 computations (95.8% saved)

prune8.0ms (0.3%)

Memory
-24.0MiB live, 15.1MiB allocated
Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New27330
Fresh000
Picked044
Done011
Total27835
Accuracy
78.7%
Counts
35 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
72.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
16.3%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
3.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
3.9%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
2.9%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
51.8%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
29.7%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
3.3%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
Compiler

Compiled 270 to 173 computations (35.9% saved)

simplify1.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
cost-diff0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
cost-diff0
(/.f64 K #s(literal 2 binary64))
cost-diff0
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)
Outputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)

localize56.0ms (2.4%)

Memory
-0.5MiB live, 77.0MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy8.321535625204412
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
accuracy8.321535625204412
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
accuracy51.23362191201793
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
accuracy61.90748023023102
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
accuracy0.0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
accuracy0.12890625
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
accuracy8.321535625204412
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
accuracy62.103698645122975
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
accuracy0.0
(/.f64 K #s(literal 2 binary64))
accuracy62.157893876397075
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
Samples
36.0ms256×0valid
Compiler

Compiled 542 to 52 computations (90.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-mult: 8.0ms (36% of total)
ival-cos: 5.0ms (22.5% of total)
ival-div: 3.0ms (13.5% of total)
ival-sqrt: 2.0ms (9% of total)
ival-pow2: 2.0ms (9% of total)
ival-add: 1.0ms (4.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series13.0ms (0.6%)

Memory
23.6MiB live, 23.6MiB allocated
Counts
11 → 57
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
Outputs
(* -1 U)
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(* -2 (* J (cos (* 1/2 K))))
(* -2 J)
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (+ (* -1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3))))))))
1
(+ 1 (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (+ (* 1/1024 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* -1 (* J (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K)))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))))
(* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* -2 (* (pow K 2) (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))) (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/16 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* -1/46080 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (+ (* 1/12288 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))) (* -2 (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))))))
(* 1/2 K)
(+ (* -2 J) (* 1/4 (* J (pow K 2))))
(+ (* -2 J) (* (pow K 2) (+ (* -1/192 (* J (pow K 2))) (* 1/4 J))))
(+ (* -2 J) (* (pow K 2) (+ (* 1/4 J) (* (pow K 2) (+ (* -1/192 J) (* 1/23040 (* J (pow K 2))))))))
(+ 1 (* -1/8 (pow K 2)))
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8)))
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8)))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* 1/32 (* (/ (* (pow K 2) (pow U 2)) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* (pow K 2) (+ (* 1/2 (* (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(* -2 (* (* J (cos (* 1/2 K))) (sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))))
(cos (* 1/2 K))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* -1/4 (/ (pow U 2) (* J (cos (* 1/2 K))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* 1/64 (/ (pow U 2) (* (pow J 3) (pow (cos (* 1/2 K)) 3)))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* (pow U 2) (+ (* -1/512 (/ (pow U 2) (* (pow J 5) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ 1 (* (pow J 3) (pow (cos (* 1/2 K)) 3)))))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ 1 (* (pow U 2) (+ (* -1/128 (/ (pow U 2) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(+ 1 (* (pow U 2) (+ (* (pow U 2) (- (* 1/1024 (/ (pow U 2) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/128 (/ 1 (* (pow J 4) (pow (cos (* 1/2 K)) 4)))))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1))
(* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1))
(* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1))
(* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
U
(* -1 (* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1)))
(* -1 (* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1)))
(* -1 (* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1)))
(* -1/2 (/ U (* J (cos (* 1/2 K)))))
(* -1 (* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))))
Calls

9 calls:

TimeVariablePointExpression
2.0ms
K
@inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
2.0ms
K
@-inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
2.0ms
K
@0
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
1.0ms
J
@0
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
1.0ms
J
@inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/ K 2) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

simplify2.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB allocated
Algorithm
egg-herbie
Counts
57 → 11
Calls
Call 1
Inputs
(* -1 U)
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(* -2 (* J (cos (* 1/2 K))))
(* -2 J)
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (+ (* -1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3))))))))
1
(+ 1 (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (+ (* 1/1024 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* -1 (* J (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K)))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))))
(* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* -2 (* (pow K 2) (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))) (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/16 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* -1/46080 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (+ (* 1/12288 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))) (* -2 (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))))))
(* 1/2 K)
(+ (* -2 J) (* 1/4 (* J (pow K 2))))
(+ (* -2 J) (* (pow K 2) (+ (* -1/192 (* J (pow K 2))) (* 1/4 J))))
(+ (* -2 J) (* (pow K 2) (+ (* 1/4 J) (* (pow K 2) (+ (* -1/192 J) (* 1/23040 (* J (pow K 2))))))))
(+ 1 (* -1/8 (pow K 2)))
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8)))
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8)))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* 1/32 (* (/ (* (pow K 2) (pow U 2)) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* (pow K 2) (+ (* 1/2 (* (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(* -2 (* (* J (cos (* 1/2 K))) (sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))))
(cos (* 1/2 K))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* -1/4 (/ (pow U 2) (* J (cos (* 1/2 K))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* 1/64 (/ (pow U 2) (* (pow J 3) (pow (cos (* 1/2 K)) 3)))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* (pow U 2) (+ (* -1/512 (/ (pow U 2) (* (pow J 5) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ 1 (* (pow J 3) (pow (cos (* 1/2 K)) 3)))))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ 1 (* (pow U 2) (+ (* -1/128 (/ (pow U 2) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(+ 1 (* (pow U 2) (+ (* (pow U 2) (- (* 1/1024 (/ (pow U 2) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/128 (/ 1 (* (pow J 4) (pow (cos (* 1/2 K)) 4)))))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1))
(* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1))
(* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1))
(* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
U
(* -1 (* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1)))
(* -1 (* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1)))
(* -1 (* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1)))
(* -1/2 (/ U (* J (cos (* 1/2 K)))))
(* -1 (* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))))
Outputs
(* -1 U)
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(/.f64 K #s(literal 2 binary64))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(* -2 (* J (cos (* 1/2 K))))
(*.f64 #s(literal -2 binary64) J)
(* -2 J)
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))

rewrite1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Counts
11 → 11
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
Outputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))

eval9.0ms (0.4%)

Memory
-28.3MiB live, 9.0MiB allocated
Compiler

Compiled 2 099 to 62 computations (97% saved)

prune5.0ms (0.2%)

Memory
10.2MiB live, 10.2MiB allocated
Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New39342
Fresh000
Picked033
Done055
Total391150
Accuracy
78.7%
Counts
50 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
72.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
16.3%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
3.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
3.9%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
3.9%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
3.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
3.9%
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
2.9%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
51.8%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
29.7%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
3.3%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
Compiler

Compiled 435 to 258 computations (40.7% saved)

simplify2.0ms (0.1%)

Memory
3.1MiB live, 3.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
cost-diff0
(cos.f64 (/.f64 K #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
cost-diff0
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
cost-diff0
(*.f64 #s(literal -2 binary64) J)
cost-diff0
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
cost-diff0
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
Calls
Call 1
Inputs
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)
Outputs
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal -2 binary64) J)
#s(literal -2 binary64)
J
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/.f64 K #s(literal 2 binary64))
K
#s(literal 2 binary64)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
U
(*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) J)

localize66.0ms (2.8%)

Memory
-7.8MiB live, 112.4MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy8.321535625204412
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
accuracy27.325482508632962
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
accuracy51.23362191201793
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
accuracy61.90748023023102
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
accuracy0.12890625
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
accuracy8.321535625204412
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
accuracy27.325482508632962
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
accuracy62.103698645122975
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))
accuracy8.321535625204412
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
accuracy27.325482508632962
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
accuracy51.23362191201793
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
accuracy61.90748023023102
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
Samples
42.0ms256×0valid
Compiler

Compiled 902 to 54 computations (94% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-mult: 8.0ms (36% of total)
ival-cos: 5.0ms (22.5% of total)
ival-div: 3.0ms (13.5% of total)
ival-sqrt: 2.0ms (9% of total)
ival-pow2: 2.0ms (9% of total)
ival-add: 1.0ms (4.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series13.0ms (0.6%)

Memory
23.8MiB live, 23.8MiB allocated
Counts
12 → 56
Calls
Call 1
Inputs
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
Outputs
(* -1 U)
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(* -2 (* J (cos (* 1/2 K))))
(* -2 J)
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (+ (* -1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3))))))))
1
(+ 1 (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (+ (* 1/1024 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* -1 (* J (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K)))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))))
(* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* -2 (* (pow K 2) (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))) (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/16 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* -1/46080 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (+ (* 1/12288 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))) (* -2 (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))))))
(+ (* -2 J) (* 1/4 (* J (pow K 2))))
(+ (* -2 J) (* (pow K 2) (+ (* -1/192 (* J (pow K 2))) (* 1/4 J))))
(+ (* -2 J) (* (pow K 2) (+ (* 1/4 J) (* (pow K 2) (+ (* -1/192 J) (* 1/23040 (* J (pow K 2))))))))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* 1/32 (* (/ (* (pow K 2) (pow U 2)) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* (pow K 2) (+ (* 1/2 (* (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ 1 (* -1/8 (pow K 2)))
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8)))
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8)))
(* -2 (* (* J (cos (* 1/2 K))) (sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(cos (* 1/2 K))
(+ (* -2 (* J (cos (* 1/2 K)))) (* -1/4 (/ (pow U 2) (* J (cos (* 1/2 K))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* 1/64 (/ (pow U 2) (* (pow J 3) (pow (cos (* 1/2 K)) 3)))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* (pow U 2) (+ (* -1/512 (/ (pow U 2) (* (pow J 5) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ 1 (* (pow J 3) (pow (cos (* 1/2 K)) 3)))))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ 1 (* (pow U 2) (+ (* -1/128 (/ (pow U 2) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(+ 1 (* (pow U 2) (+ (* (pow U 2) (- (* 1/1024 (/ (pow U 2) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/128 (/ 1 (* (pow J 4) (pow (cos (* 1/2 K)) 4)))))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1))
(* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1))
(* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1))
(* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
U
(* -1 (* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1)))
(* -1 (* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1)))
(* -1 (* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1)))
(* -1/2 (/ U (* J (cos (* 1/2 K)))))
(* -1 (* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))))
Calls

9 calls:

TimeVariablePointExpression
2.0ms
K
@inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
2.0ms
K
@0
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
2.0ms
K
@-inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
2.0ms
J
@0
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))
1.0ms
J
@inf
((* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (* -2 J) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (* (* -2 J) (cos (/ K 2))) (cos (/ K 2)) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))))

simplify2.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated
Algorithm
egg-herbie
Counts
56 → 12
Calls
Call 1
Inputs
(* -1 U)
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
(* -2 (* J (cos (* 1/2 K))))
(* -2 J)
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (+ (* -1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3))))))))
1
(+ 1 (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(+ 1 (+ (* -1/128 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (+ (* 1/1024 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/8 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* -1 (* J (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K)))))))
(* -1 (* J (+ (* -1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))) (+ (* 1/512 (/ (pow U 6) (* (pow J 6) (pow (cos (* 1/2 K)) 5)))) (+ (* 1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 2 (cos (* 1/2 K))))))))
(* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* -2 (* (pow K 2) (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))) (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ (* -2 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* (pow K 2) (+ (* -2 (+ (* -1/8 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/32 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* (pow K 2) (+ (* -2 (* (pow K 2) (+ (* -1/16 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* -1/46080 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (+ (* 1/12288 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))) (* -2 (+ (* -1/256 (* (/ (pow U 2) J) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (+ (* 1/384 (* J (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))) (* 1/2 (* (* J (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))))))))))
(+ (* -2 J) (* 1/4 (* J (pow K 2))))
(+ (* -2 J) (* (pow K 2) (+ (* -1/192 (* J (pow K 2))) (* 1/4 J))))
(+ (* -2 J) (* (pow K 2) (+ (* 1/4 J) (* (pow K 2) (+ (* -1/192 J) (* 1/23040 (* J (pow K 2))))))))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* 1/32 (* (/ (* (pow K 2) (pow U 2)) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))
(+ (sqrt (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))) (* (pow K 2) (+ (* 1/32 (* (/ (pow U 2) (pow J 2)) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))) (* (pow K 2) (+ (* 1/2 (* (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))) (* 1/2 (* (* (pow K 2) (- (* -1/4 (+ (* -1/1440 (/ (pow U 2) (pow J 2))) (+ (* 1/192 (/ (pow U 2) (pow J 2))) (* 1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2)))))))) (* 1/32 (/ (* (pow U 2) (- (* -1/4 (+ (* -1/16 (/ (pow U 2) (pow J 2))) (* 1/48 (/ (pow U 2) (pow J 2))))) (* 1/1024 (/ (pow U 4) (* (pow J 4) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (* (pow J 2) (+ 1 (* 1/4 (/ (pow U 2) (pow J 2))))))))) (sqrt (/ 1 (+ 1 (* 1/4 (/ (pow U 2) (pow J 2)))))))))))))
(+ 1 (* -1/8 (pow K 2)))
(+ 1 (* (pow K 2) (- (* 1/384 (pow K 2)) 1/8)))
(+ 1 (* (pow K 2) (- (* (pow K 2) (+ 1/384 (* -1/46080 (pow K 2)))) 1/8)))
(* -2 (* (* J (cos (* 1/2 K))) (sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))))
(sqrt (+ 1 (* 1/4 (/ (pow U 2) (* (pow J 2) (pow (cos (* 1/2 K)) 2))))))
(cos (* 1/2 K))
(+ (* -2 (* J (cos (* 1/2 K)))) (* -1/4 (/ (pow U 2) (* J (cos (* 1/2 K))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* 1/64 (/ (pow U 2) (* (pow J 3) (pow (cos (* 1/2 K)) 3)))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ (* -2 (* J (cos (* 1/2 K)))) (* (pow U 2) (- (* (pow U 2) (+ (* -1/512 (/ (pow U 2) (* (pow J 5) (pow (cos (* 1/2 K)) 5)))) (* 1/64 (/ 1 (* (pow J 3) (pow (cos (* 1/2 K)) 3)))))) (* 1/4 (/ 1 (* J (cos (* 1/2 K))))))))
(+ 1 (* (pow U 2) (+ (* -1/128 (/ (pow U 2) (* (pow J 4) (pow (cos (* 1/2 K)) 4)))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(+ 1 (* (pow U 2) (+ (* (pow U 2) (- (* 1/1024 (/ (pow U 2) (* (pow J 6) (pow (cos (* 1/2 K)) 6)))) (* 1/128 (/ 1 (* (pow J 4) (pow (cos (* 1/2 K)) 4)))))) (* 1/8 (/ 1 (* (pow J 2) (pow (cos (* 1/2 K)) 2)))))))
(* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1))
(* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1))
(* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1))
(* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
U
(* -1 (* U (- (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) 1)))
(* -1 (* U (- (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4)))) 1)))
(* -1 (* U (- (+ (* -4 (/ (* (pow J 6) (pow (cos (* 1/2 K)) 6)) (pow U 6))) (+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) (pow U 2))) (* 2 (/ (* (pow J 4) (pow (cos (* 1/2 K)) 4)) (pow U 4))))) 1)))
(* -1/2 (/ U (* J (cos (* 1/2 K)))))
(* -1 (* U (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2))))))
(* -1 (* U (+ (* -1 (/ (* (pow J 3) (pow (cos (* 1/2 K)) 3)) (pow U 4))) (+ (* 2 (/ (* (pow J 5) (pow (cos (* 1/2 K)) 5)) (pow U 6))) (+ (* 1/2 (/ 1 (* J (cos (* 1/2 K))))) (/ (* J (cos (* 1/2 K))) (pow U 2)))))))
Outputs
(* -1 U)
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(+ (* -2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 2)) U)) (* -1 U))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 4)) (pow U 3))))))
(*.f64 #s(literal -2 binary64) J)
(+ (* -1 U) (* (pow J 2) (+ (* -2 (/ (pow (cos (* 1/2 K)) 2) U)) (* (pow J 2) (+ (* -4 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 6)) (pow U 5))) (* 2 (/ (pow (cos (* 1/2 K)) 4) (pow U 3))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(* -2 (* J (cos (* 1/2 K))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(* -2 J)
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(* 1/2 (/ U (* J (cos (* 1/2 K)))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (/ (* (pow J 2) (cos (* 1/2 K))) U)) J)
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* -1 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 3)) (pow U 3))) (/ (cos (* 1/2 K)) U)))) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(/ (+ (* 1/2 (/ U (cos (* 1/2 K)))) (* (pow J 2) (+ (* (pow J 2) (+ (* -1 (/ (pow (cos (* 1/2 K)) 3) (pow U 3))) (* 2 (/ (* (pow J 2) (pow (cos (* 1/2 K)) 5)) (pow U 5))))) (/ (cos (* 1/2 K)) U)))) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))
(* J (+ (* -2 (cos (* 1/2 K))) (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K)))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(* J (+ (* -2 (cos (* 1/2 K))) (+ (* -1/4 (/ (pow U 2) (* (pow J 2) (cos (* 1/2 K))))) (* 1/64 (/ (pow U 4) (* (pow J 4) (pow (cos (* 1/2 K)) 3)))))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))

rewrite1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Counts
12 → 12
Calls
Call 1
Inputs
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
Outputs
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))
(*.f64 #s(literal -2 binary64) J)
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))
(cos.f64 (/.f64 K #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))
#s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))

eval8.0ms (0.3%)

Memory
-27.9MiB live, 10.2MiB allocated
Compiler

Compiled 2 738 to 71 computations (97.4% saved)

prune8.0ms (0.4%)

Memory
17.5MiB live, 17.5MiB allocated
Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New42345
Fresh000
Picked123
Done268
Total451156
Accuracy
79.0%
Counts
56 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
72.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
16.3%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
3.9%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
4.5%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))))
3.8%
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
12.2%
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
3.9%
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))
2.9%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
51.8%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
29.7%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
3.3%
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
Compiler

Compiled 1 079 to 314 computations (70.9% saved)

regimes30.0ms (1.3%)

Memory
-19.3MiB live, 58.1MiB allocated
Counts
14 → 3
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
Outputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
Calls

6 calls:

6.0ms
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
5.0ms
J
4.0ms
(/.f64 K #s(literal 2 binary64))
4.0ms
U
4.0ms
K
Results
AccuracySegmentsBranch
72.8%1J
72.8%1K
72.8%1U
77.5%3(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
72.8%1(cos.f64 (/.f64 K #s(literal 2 binary64)))
72.8%1(/.f64 K #s(literal 2 binary64))
Compiler

Compiled 34 to 37 computations (-8.8% saved)

regimes25.0ms (1.1%)

Memory
26.3MiB live, 69.7MiB allocated
Counts
12 → 3
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))))
Outputs
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))))
Calls

6 calls:

5.0ms
K
4.0ms
(/.f64 K #s(literal 2 binary64))
4.0ms
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
4.0ms
J
4.0ms
U
Results
AccuracySegmentsBranch
53.8%2U
51.8%1J
51.8%1K
51.8%1(cos.f64 (/.f64 K #s(literal 2 binary64)))
51.8%1(/.f64 K #s(literal 2 binary64))
57.1%3(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Compiler

Compiled 34 to 37 computations (-8.8% saved)

regimes8.0ms (0.4%)

Memory
-18.1MiB live, 21.0MiB allocated
Counts
9 → 2
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))))
Outputs
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
Calls

2 calls:

4.0ms
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
3.0ms
U
Results
AccuracySegmentsBranch
51.8%1U
53.4%2(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Compiler

Compiled 25 to 20 computations (20% saved)

regimes3.0ms (0.1%)

Memory
8.1MiB live, 8.1MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J))))
Outputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))))
Calls

1 calls:

2.0ms
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Results
AccuracySegmentsBranch
51.8%1(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes13.0ms (0.5%)

Memory
-11.3MiB live, 28.0MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (/.f64 K #s(literal 2 binary64)))
(*.f64 #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2))) #s(approx (* (* -2 J) (cos (/ K 2))) (*.f64 #s(literal -2 binary64) J)))))
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (cos.f64 (/.f64 K #s(literal 2 binary64))))
Outputs
#s(approx (* (* (* -2 J) (cos (/ K 2))) (sqrt (+ 1 (pow (/ U (* (* 2 J) (cos (/ K 2)))) 2)))) (*.f64 #s(literal -2 binary64) J))
Calls

6 calls:

3.0ms
K
2.0ms
(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
2.0ms
(/.f64 K #s(literal 2 binary64))
2.0ms
U
2.0ms
J
Results
AccuracySegmentsBranch
29.7%1(cos.f64 (/.f64 K #s(literal 2 binary64)))
29.7%1J
29.7%1K
29.7%1(/.f64 K #s(literal 2 binary64))
29.7%1U
29.7%1(*.f64 (*.f64 (*.f64 #s(literal -2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 U (*.f64 (*.f64 #s(literal 2 binary64) J) (cos.f64 (/.f64 K #s(literal 2 binary64))))) #s(literal 2 binary64)))))
Compiler

Compiled 34 to 37 computations (-8.8% saved)

bsearch1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.022723111301133e+304
+inf
0.0ms
-inf
-1.703256729811662e+301
Compiler

Compiled 27 to 23 computations (14.8% saved)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.022723111301133e+304
+inf
0.0ms
-inf
-1.703256729811662e+301
Compiler

Compiled 27 to 23 computations (14.8% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-inf
-1.703256729811662e+301
Compiler

Compiled 27 to 23 computations (14.8% saved)

simplify5.0ms (0.2%)

Memory
10.2MiB live, 10.2MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...