Toniolo and Linder, Equation (3b), real

Time bar (total: 3.5s)

analyze180.0ms (5.1%)

Memory
27.0MiB live, 216.1MiB 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
25%25%74.9%0.1%0%0%0%5
43.8%43.7%56.2%0.1%0%0%0%6
43.8%43.7%56.2%0.1%0%0%0%7
53.1%53%46.8%0.1%0%0%0%8
60.9%60.8%39%0.1%0%0%0%9
60.9%60.8%39%0.1%0%0%0%10
64.8%64.7%35.1%0.1%0%0%0%11
68.4%68.3%31.6%0.1%0%0%0%12
Compiler

Compiled 18 to 14 computations (22.2% saved)

sample1.8s (51.4%)

Memory
-3.8MiB live, 2 012.1MiB allocated
Samples
1.5s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1000.0ms
ival-sin: 558.0ms (55.8% of total)
ival-pow2: 159.0ms (15.9% of total)
ival-sqrt: 81.0ms (8.1% of total)
ival-mult: 77.0ms (7.7% of total)
ival-div: 75.0ms (7.5% of total)
ival-add: 41.0ms (4.1% of total)
ival-true: 6.0ms (0.6% of total)
ival-assert: 3.0ms (0.3% of total)
Bogosity

preprocess75.0ms (2.1%)

Memory
-15.7MiB live, 61.3MiB allocated
Algorithm
egg-herbie
Rules
390×unsub-neg
362×times-frac
340×associate-*l*
330×associate-*r*
282×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046166
1104163
2212163
3384163
4831163
51947163
62502163
72779163
82891163
92941163
102956163
112956163
01316
11916
22316
32416
02411
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
Outputs
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
Call 2
Inputs
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
(* (/ (sin ky) (sqrt (+ (pow (sin (neg kx)) 2) (pow (sin ky) 2)))) (sin th))
(* (/ (sin (neg ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin (neg ky)) 2)))) (sin th))
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin (neg th)))
(neg (* (/ (sin ky) (sqrt (+ (pow (sin (neg kx)) 2) (pow (sin ky) 2)))) (sin th)))
(neg (* (/ (sin (neg ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin (neg ky)) 2)))) (sin th)))
(neg (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin (neg th))))
(* (/ (sin kx) (sqrt (+ (pow (sin ky) 2) (pow (sin kx) 2)))) (sin th))
(* (/ (sin ky) (sqrt (+ (pow (sin th) 2) (pow (sin ky) 2)))) (sin kx))
(* (/ (sin th) (sqrt (+ (pow (sin kx) 2) (pow (sin th) 2)))) (sin ky))
Outputs
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
(/ (* (sin ky) (sin th)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(* (/ (sin ky) (sqrt (+ (pow (sin (neg kx)) 2) (pow (sin ky) 2)))) (sin th))
(/ (* (sin ky) (sin th)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(* (/ (sin (neg ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin (neg ky)) 2)))) (sin th))
(/ (* (sin ky) (neg (sin th))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin (neg th)))
(/ (* (sin ky) (neg (sin th))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(neg (* (/ (sin ky) (sqrt (+ (pow (sin (neg kx)) 2) (pow (sin ky) 2)))) (sin th)))
(/ (* (sin ky) (neg (sin th))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(neg (* (/ (sin (neg ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin (neg ky)) 2)))) (sin th)))
(/ (* (sin ky) (sin th)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(neg (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin (neg th))))
(/ (* (sin ky) (sin th)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(* (/ (sin kx) (sqrt (+ (pow (sin ky) 2) (pow (sin kx) 2)))) (sin th))
(/ (* (sin kx) (sin th)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(* (/ (sin ky) (sqrt (+ (pow (sin th) 2) (pow (sin ky) 2)))) (sin kx))
(/ (* (sin ky) (sin kx)) (sqrt (+ (pow (sin ky) 2) (pow (sin th) 2))))
(* (/ (sin th) (sqrt (+ (pow (sin kx) 2) (pow (sin th) 2)))) (sin ky))
(/ (* (sin ky) (sin th)) (sqrt (+ (pow (sin kx) 2) (pow (sin th) 2))))
Symmetry

(abs kx)

(negabs ky)

(negabs th)

explain182.0ms (5.2%)

Memory
21.1MiB live, 298.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
190-1(5.6789757420072856e-229 3.198827289591751e-159 3.398566838858208e-15)(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
00-0-(+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
00-0-(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
00-0-(sin.f64 kx)
00-0-(sin.f64 th)
00-0-(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
00-0-(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
00-0-th
00-0-#s(literal 2 binary64)
00-0-(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
00-0-(sin.f64 ky)
00-0-ky
00-0-kx
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))uflow-rescue180
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))underflow66
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))underflow60
(+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))underflow18
Confusion
Predicted +Predicted -
+181
-0237
Precision
1.0
Recall
0.9473684210526315
Confusion?
Predicted +Predicted MaybePredicted -
+1801
-00237
Precision?
1.0
Recall?
0.9473684210526315
Freqs
test
numberfreq
0238
118
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
77.0ms512×0valid
Compiler

Compiled 174 to 56 computations (67.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 57.0ms
ival-sin: 34.0ms (59.2% of total)
ival-pow2: 9.0ms (15.7% of total)
ival-sqrt: 5.0ms (8.7% of total)
ival-div: 3.0ms (5.2% of total)
ival-mult: 3.0ms (5.2% of total)
ival-add: 2.0ms (3.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
Compiler

Compiled 19 to 13 computations (31.6% saved)

simplify6.0ms (0.2%)

Memory
-32.7MiB live, 5.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 ky)
cost-diff0
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
cost-diff0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
cost-diff7296
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Rules
16×*-lowering-*.f32
16×*-lowering-*.f64
*-commutative
sin-lowering-sin.f64
/-lowering-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01366
11966
22366
32466
02451
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
(/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(sin ky)
ky
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(+ (pow (sin kx) 2) (pow (sin ky) 2))
(pow (sin kx) 2)
(sin kx)
kx
2
(pow (sin ky) 2)
(sin th)
th
Outputs
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin ky)
(sin.f64 ky)
ky
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(+ (pow (sin kx) 2) (pow (sin ky) 2))
(+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(sin kx)
(sin.f64 kx)
kx
2
#s(literal 2 binary64)
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin th)
(sin.f64 th)
th

localize56.0ms (1.6%)

Memory
26.3MiB live, 74.2MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy99.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
accuracy99.6%
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
accuracy99.6%
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
accuracy93.1%
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Samples
36.0ms256×0valid
Compiler

Compiled 68 to 15 computations (77.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-sin: 16.0ms (60.4% of total)
ival-pow2: 5.0ms (18.9% of total)
ival-sqrt: 2.0ms (7.6% of total)
ival-div: 1.0ms (3.8% of total)
ival-add: 1.0ms (3.8% of total)
ival-mult: 1.0ms (3.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series28.0ms (0.8%)

Memory
-2.3MiB live, 36.2MiB allocated
Counts
6 → 120
Calls
Call 1
Inputs
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))>
#<alt (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))>
#<alt (sin ky)>
#<alt (pow (sin ky) 2)>
#<alt (pow (sin kx) 2)>
Outputs
#<alt (sin ky)>
#<alt (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))>
#<alt (+ (sin ky) (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (sin ky))) (* 1/2 (/ 1 (sin ky))))))>
#<alt (+ (sin ky) (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (sin ky))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (sin ky))))) (* 1/2 (/ 1 (sin ky))))))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sin kx)>
#<alt (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))>
#<alt (+ (sin kx) (* (pow ky 2) (+ (* -1/2 (/ (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2))))) (sin kx))) (* 1/2 (/ 1 (sin kx))))))>
#<alt (+ (sin kx) (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (* 1/2 (/ (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2))))) (sin kx))))) (* 1/2 (/ 1 (sin kx))))))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))>
#<alt (/ (* ky (sin th)) (sin kx))>
#<alt (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))>
#<alt (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))>
#<alt (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* (sin kx) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8)))))))) (+ (* -1/12 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ (sin th) (pow (sin kx) 3))) (* -1/5040 (/ (sin th) (sin kx)))))))))))))) (/ (sin th) (sin kx))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (sin th)>
#<alt (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))>
#<alt (+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))>
#<alt (+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))) (pow (sin ky) 2))) (+ (* 2/45 (/ 1 (pow (sin ky) 4))) (+ (* 2/3 (/ 1 (pow (sin ky) 6))) (/ 1 (pow (sin ky) 8))))))))) (* 1/2 (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))>
#<alt (* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))>
#<alt (* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (/ ky (sin kx))>
#<alt (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))>
#<alt (* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/12 (/ 1 (pow (sin kx) 3)))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))>
#<alt (* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/12 (/ 1 (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* (pow ky 2) (- (+ (* -1/2 (* (sin kx) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8))))))) (* -1/12 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* 1/5040 (/ 1 (sin kx))) (* 1/240 (/ 1 (pow (sin kx) 3)))))))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt 1>
#<alt (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))>
#<alt (+ 1 (* (pow kx 2) (- (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))>
#<alt (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))) (pow (sin ky) 2))) (+ (* 2/45 (/ 1 (pow (sin ky) 4))) (+ (* 2/3 (/ 1 (pow (sin ky) 6))) (/ 1 (pow (sin ky) 8)))))))) (* 1/2 (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))>
#<alt ky>
#<alt (* ky (+ 1 (* -1/6 (pow ky 2))))>
#<alt (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))>
#<alt (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))>
#<alt (sin ky)>
#<alt (sin ky)>
#<alt (sin ky)>
#<alt (sin ky)>
#<alt (sin ky)>
#<alt (sin ky)>
#<alt (sin ky)>
#<alt (sin ky)>
#<alt (pow ky 2)>
#<alt (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))>
#<alt (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))>
#<alt (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))>
#<alt (pow (sin ky) 2)>
#<alt (pow (sin ky) 2)>
#<alt (pow (sin ky) 2)>
#<alt (pow (sin ky) 2)>
#<alt (pow (sin ky) 2)>
#<alt (pow (sin ky) 2)>
#<alt (pow (sin ky) 2)>
#<alt (pow (sin ky) 2)>
#<alt (pow kx 2)>
#<alt (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))>
#<alt (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))>
#<alt (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))>
#<alt (pow (sin kx) 2)>
#<alt (pow (sin kx) 2)>
#<alt (pow (sin kx) 2)>
#<alt (pow (sin kx) 2)>
#<alt (pow (sin kx) 2)>
#<alt (pow (sin kx) 2)>
#<alt (pow (sin kx) 2)>
#<alt (pow (sin kx) 2)>
Calls

30 calls:

TimeVariablePointExpression
3.0ms
ky
@0
(pow (sin ky) 2)
3.0ms
ky
@inf
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
2.0ms
ky
@0
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
2.0ms
kx
@0
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
2.0ms
th
@inf
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))

rewrite338.0ms (9.6%)

Memory
20.3MiB live, 522.4MiB allocated
Algorithm
batch-egg-rewrite
Rules
4 346×accelerator-lowering-fma.f32
4 346×accelerator-lowering-fma.f64
3 626×*-lowering-*.f32
3 626×*-lowering-*.f64
2 248×pow-lowering-pow.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01349
15349
232949
3289349
0827534
Stop Event
iter limit
node limit
Counts
6 → 294
Calls
Call 1
Inputs
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
(/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(sin ky)
(pow (sin ky) 2)
(pow (sin kx) 2)
Outputs
(exp.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (fma.f64 (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 1/4 binary64) (*.f64 (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 1/4 binary64))))
(exp.f64 (neg.f64 (*.f64 (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal -1/2 binary64))))
(exp.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64)) #s(literal -1 binary64))))
(exp.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64)))))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 kx) (-.f64 #s(literal 0 binary64) (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 ky))) #s(literal 4 binary64)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 ky) (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)))
(hypot.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)))
(hypot.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)) (sin.f64 ky))
(hypot.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)) (-.f64 #s(literal 0 binary64) (sin.f64 ky)))
(hypot.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)) (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 ky))) #s(literal 4 binary64)))
(hypot.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 ky))) #s(literal 4 binary64)) (sin.f64 kx))
(hypot.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 ky))) #s(literal 4 binary64)) (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)))
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))
(neg.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 1 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (*.f64 #s(literal 1 binary64) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (*.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (-.f64 #s(literal 0 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (-.f64 #s(literal 0 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64)))) (sqrt.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 18 binary64)) (pow.f64 (sin.f64 ky) #s(literal 18 binary64)))) (sqrt.f64 (*.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 12 binary64)) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 6 binary64)))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64)))) (sqrt.f64 (*.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64)))) (sqrt.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 8 binary64)) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 4 binary64)))))))
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (neg.f64 (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) (*.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 18 binary64)) (pow.f64 (sin.f64 ky) #s(literal 18 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 12 binary64)) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 6 binary64)))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 8 binary64)) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 4 binary64)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))))) (sqrt.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))) (sqrt.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) #s(literal 3 binary64)) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 12 binary64)) (pow.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) #s(literal 3 binary64))))) (sqrt.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) #s(literal 2 binary64)))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) #s(literal 1 binary64))) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 18 binary64)) (pow.f64 (sin.f64 ky) #s(literal 18 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 12 binary64)) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 6 binary64))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 8 binary64)) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))) (hypot.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))
(/.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (+.f64 (sin.f64 kx) (sin.f64 ky)))) (sqrt.f64 (-.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 1 binary64))
(pow.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal -1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 1 binary64))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (pow.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (pow.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sqrt.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))))
(*.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sqrt.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))))
(*.f64 #s(literal 1 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(*.f64 (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (*.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (/.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))))
(*.f64 (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (/.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))))
(*.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))
(*.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))))
(*.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (pow.f64 (/.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) (+.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal 1/2 binary64)) (sqrt.f64 (+.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 3 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (sin.f64 kx) #s(literal 8 binary64)))))
(*.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 2 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))))
(*.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) #s(literal -1/4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) #s(literal -1/4 binary64)) #s(literal 2 binary64)))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) (+.f64 (sin.f64 kx) (sin.f64 ky)))) (sqrt.f64 (+.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sqrt.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 3 binary64))))) (sqrt.f64 (fma.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (sin.f64 kx) #s(literal 8 binary64)))))
(*.f64 (sqrt.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 ky) (sin.f64 th)))) #s(literal -1 binary64)))
(neg.f64 (*.f64 (neg.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))) (sin.f64 th)))
(neg.f64 (*.f64 (sin.f64 th) (neg.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))))
(neg.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(neg.f64 (/.f64 (*.f64 (sin.f64 th) (-.f64 #s(literal 0 binary64) (sin.f64 ky))) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 (sin.f64 th) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 ky) (sin.f64 th))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal 1 binary64)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(/.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th))) (*.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 2 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 ky) (sin.f64 th)))))
(/.f64 (*.f64 (sin.f64 th) (-.f64 #s(literal 0 binary64) (sin.f64 ky))) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th))) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th))) #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(/.f64 (neg.f64 (sin.f64 th)) (-.f64 #s(literal 0 binary64) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky))))
(/.f64 (neg.f64 (*.f64 (sin.f64 th) (-.f64 #s(literal 0 binary64) (sin.f64 ky)))) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(/.f64 (*.f64 (sin.f64 th) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky))))
(/.f64 (*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) #s(literal 1 binary64)) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(/.f64 (*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 (*.f64 #s(literal -1 binary64) (sin.f64 th)) (-.f64 #s(literal 0 binary64) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky))))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))) #s(literal 2 binary64))
(/.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)))
(/.f64 (/.f64 (*.f64 (sin.f64 th) (-.f64 #s(literal 0 binary64) (sin.f64 ky))) #s(literal -1 binary64)) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal 1 binary64)) #s(literal -1 binary64))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 th)))
(*.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) (/.f64 (sin.f64 th) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(*.f64 #s(literal 1 binary64) (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (/.f64 (sin.f64 th) (/.f64 #s(literal 1 binary64) (sin.f64 ky))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal -1 binary64)))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (*.f64 (sin.f64 th) (-.f64 #s(literal 0 binary64) (sin.f64 ky))) (/.f64 #s(literal -1 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(*.f64 (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) (/.f64 (sin.f64 th) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sin.f64 th) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sin.f64 th) #s(literal -1 binary64)) (neg.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) #s(literal -1 binary64)) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/4 binary64)) (pow.f64 (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal -1 binary64)))
(*.f64 (*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) #s(literal 1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (/.f64 (sin.f64 th) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))) (-.f64 #s(literal 0 binary64) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))
(*.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))
(*.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (sin.f64 th)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (sin.f64 th)) #s(literal -1 binary64)) (pow.f64 (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th)))) #s(literal -1 binary64)) #s(literal 1/2 binary64))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky))) #s(literal -1 binary64)))
(exp.f64 (-.f64 (log.f64 (sin.f64 ky)) (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64))))
(exp.f64 (+.f64 (log.f64 (sin.f64 ky)) (*.f64 (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal -1/2 binary64))))
(exp.f64 (+.f64 (log.f64 (sin.f64 ky)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64)) #s(literal -1 binary64))))
(exp.f64 (+.f64 (log.f64 (sin.f64 ky)) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64)))))
(exp.f64 (fma.f64 (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal -1/2 binary64) (log.f64 (sin.f64 ky))))
(exp.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64)) #s(literal -1 binary64) (log.f64 (sin.f64 ky))))
(exp.f64 (+.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64))) (log.f64 (sin.f64 ky))))
(exp.f64 (neg.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky)))))
(exp.f64 (-.f64 (*.f64 (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal -1/2 binary64)) (neg.f64 (log.f64 (sin.f64 ky)))))
(exp.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64)) #s(literal -1 binary64)) (neg.f64 (log.f64 (sin.f64 ky)))))
(exp.f64 (-.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 0 binary64))) (neg.f64 (log.f64 (sin.f64 ky)))))
(-.f64 #s(literal 0 binary64) (neg.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(-.f64 (/.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))) (neg.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(neg.f64 (neg.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(neg.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))))
(neg.f64 (/.f64 #s(literal -1 binary64) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky)))
(/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(/.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky))))
(/.f64 (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)))
(/.f64 (/.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) #s(literal -1 binary64)) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (sin.f64 ky))) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) #s(literal 1 binary64)) (-.f64 #s(literal 0 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky)) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky))) #s(literal -1/2 binary64))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 1 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) (/.f64 #s(literal -1 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (-.f64 #s(literal 0 binary64) (sin.f64 ky)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (/.f64 (sin.f64 ky) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))))
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/4 binary64)))
(*.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) (/.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/4 binary64)) (pow.f64 (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/4 binary64)) (pow.f64 (*.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (/.f64 #s(literal 1 binary64) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 1/2 binary64)) (pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (sin.f64 ky))) (/.f64 #s(literal -1 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sqrt.f64 (sin.f64 ky))) (sqrt.f64 (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))))))
(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (sin.f64 ky))) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
(*.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (sqrt.f64 (sin.f64 ky))) #s(literal -1 binary64)) (pow.f64 (/.f64 (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64)) (sqrt.f64 (sin.f64 ky))) #s(literal -1 binary64)))
(exp.f64 (log.f64 (sin.f64 ky)))
(exp.f64 (*.f64 (neg.f64 (log.f64 (sin.f64 ky))) #s(literal -1 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 (sin.f64 ky))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (sin.f64 ky))) #s(literal 2 binary64)))
(exp.f64 (neg.f64 (neg.f64 (log.f64 (sin.f64 ky)))))
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (sin.f64 ky)))
(sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))
(sin.f64 ky)
(neg.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(pow.f64 (sin.f64 ky) #s(literal 1 binary64))
(pow.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) #s(literal 1/2 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (sin.f64 ky)) #s(literal -1 binary64))
(pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (log.f64 (sin.f64 ky))))
(pow.f64 (exp.f64 #s(literal 1 binary64)) (log.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (sin.f64 ky))
(*.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (sin.f64 ky)))
(*.f64 #s(literal -1 binary64) (pow.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (sin.f64 ky)))
(*.f64 (sqrt.f64 (sqrt.f64 (sin.f64 ky))) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (sqrt.f64 (sin.f64 ky))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (sin.f64 ky))))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 2 binary64))) (log.f64 (sin.f64 ky))))
(exp.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (sin.f64 ky))) #s(literal 4 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (+.f64 ky ky)) #s(literal 2 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky)))))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 2 binary64))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky)))) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 2 binary64))) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))
(/.f64 (exp.f64 (log.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))))) (exp.f64 (log.f64 #s(literal 2 binary64))))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) #s(literal 1 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sin.f64 ky)))
(pow.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky)))) #s(literal -1 binary64))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (log.f64 (sin.f64 ky)))
(pow.f64 (exp.f64 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 (sin.f64 ky))))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))) #s(literal 1 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) (-.f64 #s(literal 0 binary64) (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky)))))
(*.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 0 binary64) (sin.f64 ky)) #s(literal 2 binary64)))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) (sqrt.f64 (sin.f64 ky)))
(*.f64 (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) #s(literal 1 binary64)) (sqrt.f64 (sin.f64 ky)))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 ky))) #s(literal 4 binary64)) (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 ky))) #s(literal 4 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 (sin.f64 kx))))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 2 binary64))) (log.f64 (sin.f64 kx))))
(exp.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (sin.f64 kx))) #s(literal 4 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (+.f64 kx kx)) #s(literal 2 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx)))))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx))) #s(literal 2 binary64))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx)))) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))) #s(literal 2 binary64))) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))
(/.f64 (exp.f64 (log.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx))))) (exp.f64 (log.f64 #s(literal 2 binary64))))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))) #s(literal 1 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 (sin.f64 kx)) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sin.f64 kx)))
(pow.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx)))) #s(literal -1 binary64))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (log.f64 (sin.f64 kx)))
(pow.f64 (exp.f64 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 (sin.f64 kx))))
(*.f64 (sin.f64 kx) (sin.f64 kx))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (sin.f64 kx)) (pow.f64 (sin.f64 kx) #s(literal 3/2 binary64)))
(*.f64 (sqrt.f64 (sin.f64 kx)) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal 3/2 binary64)) (sqrt.f64 (sin.f64 kx)))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)) (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 kx kx))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 3/2 binary64)) #s(literal 1 binary64)) (sqrt.f64 (sin.f64 kx)))

simplify562.0ms (16%)

Memory
6.5MiB live, 760.8MiB allocated
Algorithm
egg-herbie
Rules
14 278×accelerator-lowering-fma.f32
14 278×accelerator-lowering-fma.f64
6 260×*-lowering-*.f32
6 260×*-lowering-*.f64
5 352×+-lowering-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03172263
110112214
238602122
378032122
081061974
Stop Event
iter limit
node limit
Counts
120 → 120
Calls
Call 1
Inputs
(sin ky)
(+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))
(+ (sin ky) (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (sin ky))) (* 1/2 (/ 1 (sin ky))))))
(+ (sin ky) (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (sin ky))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (sin ky))))) (* 1/2 (/ 1 (sin ky))))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sin kx)
(+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))
(+ (sin kx) (* (pow ky 2) (+ (* -1/2 (/ (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2))))) (sin kx))) (* 1/2 (/ 1 (sin kx))))))
(+ (sin kx) (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (* 1/2 (/ (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2))))) (sin kx))))) (* 1/2 (/ 1 (sin kx))))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(/ (* ky (sin th)) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* (sin kx) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8)))))))) (+ (* -1/12 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ (sin th) (pow (sin kx) 3))) (* -1/5040 (/ (sin th) (sin kx)))))))))))))) (/ (sin th) (sin kx))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sin th)
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))) (pow (sin ky) 2))) (+ (* 2/45 (/ 1 (pow (sin ky) 4))) (+ (* 2/3 (/ 1 (pow (sin ky) 6))) (/ 1 (pow (sin ky) 8))))))))) (* 1/2 (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(/ ky (sin kx))
(* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/12 (/ 1 (pow (sin kx) 3)))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/12 (/ 1 (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* (pow ky 2) (- (+ (* -1/2 (* (sin kx) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8))))))) (* -1/12 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* 1/5040 (/ 1 (sin kx))) (* 1/240 (/ 1 (pow (sin kx) 3)))))))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
1
(+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(+ 1 (* (pow kx 2) (- (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))) (pow (sin ky) 2))) (+ (* 2/45 (/ 1 (pow (sin ky) 4))) (+ (* 2/3 (/ 1 (pow (sin ky) 6))) (/ 1 (pow (sin ky) 8)))))))) (* 1/2 (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
ky
(* ky (+ 1 (* -1/6 (pow ky 2))))
(* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))
(* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))
(sin ky)
(sin ky)
(sin ky)
(sin ky)
(sin ky)
(sin ky)
(sin ky)
(sin ky)
(pow ky 2)
(* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))
(* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))
(* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))
(pow (sin ky) 2)
(pow (sin ky) 2)
(pow (sin ky) 2)
(pow (sin ky) 2)
(pow (sin ky) 2)
(pow (sin ky) 2)
(pow (sin ky) 2)
(pow (sin ky) 2)
(pow kx 2)
(* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))
(pow (sin kx) 2)
(pow (sin kx) 2)
(pow (sin kx) 2)
(pow (sin kx) 2)
(pow (sin kx) 2)
(pow (sin kx) 2)
(pow (sin kx) 2)
(pow (sin kx) 2)
Outputs
(sin ky)
(sin.f64 ky)
(+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))
(fma.f64 kx (*.f64 kx (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (sin.f64 ky))
(+ (sin ky) (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (sin ky))) (* 1/2 (/ 1 (sin ky))))))
(fma.f64 (*.f64 kx kx) (fma.f64 (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (/.f64 (*.f64 kx kx) (sin.f64 ky)) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (sin.f64 ky))
(+ (sin ky) (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (sin ky))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (sin ky))))) (* 1/2 (/ 1 (sin ky))))))
(fma.f64 kx (*.f64 kx (fma.f64 kx (*.f64 kx (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 kx kx) (-.f64 #s(literal 2/45 binary64) (/.f64 (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 ky)) (/.f64 (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 ky)))) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)))) (sin.f64 ky))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin kx)
(sin.f64 kx)
(+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx))
(+ (sin kx) (* (pow ky 2) (+ (* -1/2 (/ (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2))))) (sin kx))) (* 1/2 (/ 1 (sin kx))))))
(fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) (/.f64 (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sin.f64 kx)) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (sin.f64 kx))
(+ (sin kx) (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (* 1/2 (/ (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2))))) (sin kx))))) (* 1/2 (/ 1 (sin kx))))))
(fma.f64 (*.f64 ky ky) (fma.f64 ky (*.f64 ky (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 ky ky) (-.f64 #s(literal 2/45 binary64) (/.f64 (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (sin.f64 kx)) (/.f64 (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sin.f64 kx)))) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(/ (* ky (sin th)) (sin kx))
(/.f64 (*.f64 ky (sin.f64 th)) (sin.f64 kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))
(*.f64 ky (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 (*.f64 ky ky) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))
(*.f64 ky (fma.f64 ky (/.f64 (*.f64 ky (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (fma.f64 (*.f64 ky ky) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (sin.f64 th) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 (sin.f64 th) (sin.f64 kx))))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* (sin kx) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8)))))))) (+ (* -1/12 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ (sin th) (pow (sin kx) 3))) (* -1/5040 (/ (sin th) (sin kx)))))))))))))) (/ (sin th) (sin kx))))
(*.f64 ky (fma.f64 ky (/.f64 (*.f64 ky (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (fma.f64 (*.f64 ky ky) (*.f64 (*.f64 ky ky) (fma.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (*.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 (sin.f64 kx) (sin.f64 th)) (fma.f64 (+.f64 (/.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal -3/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (+.f64 (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (+.f64 (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64)))))) #s(literal -1/2 binary64) (*.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) #s(literal -1/12 binary64))) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 #s(literal -1/240 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/5040 binary64)))) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))))) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 (sin.f64 th) (sin.f64 kx))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(sin th)
(sin.f64 th)
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(fma.f64 (*.f64 kx kx) (fma.f64 #s(literal -1/2 binary64) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 (sin.f64 th) (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))) (sin.f64 th))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))) (pow (sin ky) 2))) (+ (* 2/45 (/ 1 (pow (sin ky) 4))) (+ (* 2/3 (/ 1 (pow (sin ky) 6))) (/ 1 (pow (sin ky) 8))))))))) (* 1/2 (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))
(fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 kx kx) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (*.f64 (sin.f64 th) (+.f64 (/.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (/.f64 #s(literal -3/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (+.f64 (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 th) (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))))))) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) th))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
(*.f64 th (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) (sin.f64 ky))))
(* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))
(*.f64 th (fma.f64 (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 #s(literal 1/120 binary64) (*.f64 th th) #s(literal -1/6 binary64)))) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
(*.f64 th (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) (sin.f64 ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 #s(literal -1/5040 binary64) (*.f64 th th) #s(literal 1/120 binary64)))) (*.f64 (*.f64 th th) (*.f64 th th)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(/ ky (sin kx))
(/.f64 ky (sin.f64 kx))
(* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(*.f64 ky (fma.f64 (*.f64 ky ky) (+.f64 (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 #s(literal -1/6 binary64) (sin.f64 kx))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))))
(* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/12 (/ 1 (pow (sin kx) 3)))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(*.f64 ky (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) (fma.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 1/120 binary64) (sin.f64 kx)) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (+.f64 (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 #s(literal -1/6 binary64) (sin.f64 kx)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))))
(* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/12 (/ 1 (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* (pow ky 2) (- (+ (* -1/2 (* (sin kx) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8))))))) (* -1/12 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* 1/5040 (/ 1 (sin kx))) (* 1/240 (/ 1 (pow (sin kx) 3)))))))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(*.f64 ky (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) (fma.f64 (sin.f64 kx) (fma.f64 (+.f64 (/.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal -3/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (+.f64 (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (+.f64 (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64)))))) #s(literal -1/2 binary64) (*.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) #s(literal -1/12 binary64))) (+.f64 (/.f64 #s(literal -1/240 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 #s(literal -1/5040 binary64) (sin.f64 kx)))) (fma.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 1/120 binary64) (sin.f64 kx)) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (+.f64 (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 #s(literal -1/6 binary64) (sin.f64 kx)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(fma.f64 (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))
(+ 1 (* (pow kx 2) (- (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1 binary64))
(+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))) (pow (sin ky) 2))) (+ (* 2/45 (/ 1 (pow (sin ky) 4))) (+ (* 2/3 (/ 1 (pow (sin ky) 6))) (/ 1 (pow (sin ky) 8)))))))) (* 1/2 (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(fma.f64 kx (*.f64 kx (fma.f64 (*.f64 kx kx) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (+.f64 (/.f64 (+.f64 (/.f64 #s(literal -1/6 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (/.f64 #s(literal -3/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (+.f64 (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (+.f64 (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64)))))) (*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(literal 1 binary64))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
ky
(* ky (+ 1 (* -1/6 (pow ky 2))))
(*.f64 ky (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))
(*.f64 ky (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))
(*.f64 ky (fma.f64 (*.f64 ky ky) (fma.f64 ky (*.f64 ky (fma.f64 (*.f64 ky ky) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(sin ky)
(sin.f64 ky)
(sin ky)
(sin.f64 ky)
(sin ky)
(sin.f64 ky)
(sin ky)
(sin.f64 ky)
(sin ky)
(sin.f64 ky)
(sin ky)
(sin.f64 ky)
(sin ky)
(sin.f64 ky)
(sin ky)
(sin.f64 ky)
(pow ky 2)
(*.f64 ky ky)
(* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))
(*.f64 ky (*.f64 ky (fma.f64 ky (*.f64 ky #s(literal -1/3 binary64)) #s(literal 1 binary64))))
(* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))
(*.f64 (*.f64 (fma.f64 (*.f64 ky ky) (fma.f64 ky (*.f64 ky #s(literal 2/45 binary64)) #s(literal -1/3 binary64)) #s(literal 1 binary64)) ky) ky)
(* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))
(*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/315 binary64) #s(literal 2/45 binary64)) #s(literal -1/3 binary64)) #s(literal 1 binary64)))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(pow kx 2)
(*.f64 kx kx)
(* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))
(*.f64 kx (*.f64 kx (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64))))
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))
(*.f64 (*.f64 kx kx) (fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) #s(literal 1 binary64)))
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))
(*.f64 (*.f64 kx kx) (fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 kx kx) #s(literal -1/315 binary64) #s(literal 2/45 binary64)) #s(literal -1/3 binary64)) #s(literal 1 binary64)))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))

eval61.0ms (1.7%)

Memory
-8.7MiB live, 106.3MiB allocated
Compiler

Compiled 12 830 to 1 677 computations (86.9% saved)

prune119.0ms (3.4%)

Memory
21.3MiB live, 136.0MiB allocated
Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New42327450
Fresh000
Picked101
Done000
Total42427451
Accuracy
100.0%
Counts
451 → 27
Alt Table
Click to see full alt table
StatusAccuracyProgram
26.5%
(fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th))
76.0%
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
26.2%
(/.f64 (*.f64 ky (sin.f64 th)) (sin.f64 kx))
76.1%
(/.f64 (sin.f64 th) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (sin.f64 ky)))
75.8%
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 ky) (sin.f64 th))))
26.1%
(*.f64 (fma.f64 (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 th))
76.1%
(*.f64 (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 ky))
29.0%
(*.f64 (/.f64 (sin.f64 ky) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx))) (sin.f64 th))
78.2%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)) (sin.f64 ky))) (sin.f64 th))
99.7%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
41.5%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))) (sin.f64 th))
76.0%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))) (sin.f64 th))
76.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 th))
42.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) (fma.f64 ky (*.f64 ky #s(literal 2/45 binary64)) #s(literal -1/3 binary64)) #s(literal 1 binary64)) ky) ky)))) (sin.f64 th))
42.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (*.f64 ky ky)))) (sin.f64 th))
54.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
30.8%
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
27.8%
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
76.0%
(*.f64 (*.f64 (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/4 binary64))) (pow.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/4 binary64))) (sin.f64 th))
76.1%
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 ky)) (sin.f64 th))
50.5%
(*.f64 (*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (/.f64 (sin.f64 ky) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))))) (sin.f64 th))
92.4%
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))) (sin.f64 th))
76.0%
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
46.7%
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) th))
48.1%
(*.f64 th (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) (sin.f64 ky))))
20.8%
(*.f64 ky (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 (*.f64 ky ky) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))
32.9%
(sin.f64 th)
Compiler

Compiled 1 234 to 844 computations (31.6% saved)

simplify95.0ms (2.7%)

Memory
-1.3MiB live, 117.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
cost-diff0
(/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
cost-diff0
(sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
cost-diff0
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) th))
cost-diff0
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))))
cost-diff192
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))
cost-diff192
(/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))))
cost-diff384
(fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)))))
cost-diff0
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
cost-diff0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
cost-diff128
(+.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
cost-diff1024
(sqrt.f64 (+.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
cost-diff0
(sin.f64 th)
cost-diff0
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
cost-diff0
(sin.f64 ky)
cost-diff0
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
cost-diff0
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
Rules
1 496×accelerator-lowering-fma.f32
1 496×accelerator-lowering-fma.f64
558×*-lowering-*.f32
558×*-lowering-*.f64
412×+-lowering-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041311
168311
2107303
3150295
4199295
5262295
6369295
7525295
8738289
91040289
101565289
111890289
122006289
132016289
142024289
152030289
02030256
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th))
(/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))))
(sin ky)
ky
(sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))
(sin kx)
kx
(sin th)
th
(sin th)
th
(* (/ (sin ky) (sqrt (+ (* kx kx) (pow (sin ky) 2)))) (sin th))
(/ (sin ky) (sqrt (+ (* kx kx) (pow (sin ky) 2))))
(sin ky)
ky
(sqrt (+ (* kx kx) (pow (sin ky) 2)))
(+ (* kx kx) (pow (sin ky) 2))
(* kx kx)
kx
(pow (sin ky) 2)
2
(sin th)
th
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (* (- 1 (cos (+ ky ky))) 1/2) (+ 1/2 (* -1/2 (cos (+ kx kx))))))))
(* (sin ky) (sin th))
(sin ky)
ky
(sin th)
th
(sqrt (/ 1 (+ (* (- 1 (cos (+ ky ky))) 1/2) (+ 1/2 (* -1/2 (cos (+ kx kx)))))))
(/ 1 (+ (* (- 1 (cos (+ ky ky))) 1/2) (+ 1/2 (* -1/2 (cos (+ kx kx))))))
1
(+ (* (- 1 (cos (+ ky ky))) 1/2) (+ 1/2 (* -1/2 (cos (+ kx kx)))))
(- 1 (cos (+ ky ky)))
(cos (+ ky ky))
(+ ky ky)
1/2
(+ 1/2 (* -1/2 (cos (+ kx kx))))
(* -1/2 (cos (+ kx kx)))
-1/2
(cos (+ kx kx))
(+ kx kx)
kx
(* (sqrt (/ 1 (+ (pow (sin ky) 2) (pow (sin kx) 2)))) (* (sin ky) th))
(sqrt (/ 1 (+ (pow (sin ky) 2) (pow (sin kx) 2))))
(/ 1 (+ (pow (sin ky) 2) (pow (sin kx) 2)))
1
(+ (pow (sin ky) 2) (pow (sin kx) 2))
(pow (sin ky) 2)
(sin ky)
ky
2
(pow (sin kx) 2)
(sin kx)
kx
(* (sin ky) th)
th
Outputs
(* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin ky)
(sin.f64 ky)
ky
(sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin kx)
(sin.f64 kx)
kx
(sin th)
(sin.f64 th)
th
(sin th)
(sin.f64 th)
th
(* (/ (sin ky) (sqrt (+ (* kx kx) (pow (sin ky) 2)))) (sin th))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) kx))
(/ (sin ky) (sqrt (+ (* kx kx) (pow (sin ky) 2))))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) kx))
(sin ky)
(sin.f64 ky)
ky
(sqrt (+ (* kx kx) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 ky) kx)
(+ (* kx kx) (pow (sin ky) 2))
(fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(* kx kx)
(*.f64 kx kx)
kx
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
2
#s(literal 2 binary64)
(sin th)
(sin.f64 th)
th
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (* (- 1 (cos (+ ky ky))) 1/2) (+ 1/2 (* -1/2 (cos (+ kx kx))))))))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 ky ky)) (cos.f64 (+.f64 kx kx)))))))
(* (sin ky) (sin th))
(*.f64 (sin.f64 ky) (sin.f64 th))
(sin ky)
(sin.f64 ky)
ky
(sin th)
(sin.f64 th)
th
(sqrt (/ 1 (+ (* (- 1 (cos (+ ky ky))) 1/2) (+ 1/2 (* -1/2 (cos (+ kx kx)))))))
(sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 ky ky)) (cos.f64 (+.f64 kx kx))))))
(/ 1 (+ (* (- 1 (cos (+ ky ky))) 1/2) (+ 1/2 (* -1/2 (cos (+ kx kx))))))
(/.f64 #s(literal 2 binary64) (-.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 ky ky)) (cos.f64 (+.f64 kx kx)))))
1
#s(literal 1 binary64)
(+ (* (- 1 (cos (+ ky ky))) 1/2) (+ 1/2 (* -1/2 (cos (+ kx kx)))))
(fma.f64 #s(literal -1/2 binary64) (+.f64 (cos.f64 (+.f64 ky ky)) (cos.f64 (+.f64 kx kx))) #s(literal 1 binary64))
(- 1 (cos (+ ky ky)))
(-.f64 #s(literal 1 binary64) (cos.f64 (+.f64 ky ky)))
(cos (+ ky ky))
(cos.f64 (+.f64 ky ky))
(+ ky ky)
(+.f64 ky ky)
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* -1/2 (cos (+ kx kx))))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))
(* -1/2 (cos (+ kx kx)))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx)) #s(literal 0 binary64))
-1/2
#s(literal -1/2 binary64)
(cos (+ kx kx))
(cos.f64 (+.f64 kx kx))
(+ kx kx)
(+.f64 kx kx)
kx
(* (sqrt (/ 1 (+ (pow (sin ky) 2) (pow (sin kx) 2)))) (* (sin ky) th))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) th))
(sqrt (/ 1 (+ (pow (sin ky) 2) (pow (sin kx) 2))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(/ 1 (+ (pow (sin ky) 2) (pow (sin kx) 2)))
(/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
1
#s(literal 1 binary64)
(+ (pow (sin ky) 2) (pow (sin kx) 2))
(+.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin ky)
(sin.f64 ky)
ky
2
#s(literal 2 binary64)
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(sin kx)
(sin.f64 kx)
kx
(* (sin ky) th)
(*.f64 (sin.f64 ky) th)
th

localize1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Compiler

Compiled 294 to 40 computations (86.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...