Toniolo and Linder, Equation (3b), real

Time bar (total: 12.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze181.0ms (1.5%)

Memory
16.6MiB live, 222.2MiB 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.9s (15.8%)

Memory
50.5MiB live, 1 994.3MiB allocated
Samples
1.4s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
ival-sin: 720.0ms (60.1% of total)
ival-pow2: 203.0ms (16.9% of total)
ival-sqrt: 94.0ms (7.8% of total)
ival-div: 79.0ms (6.6% of total)
ival-mult: 56.0ms (4.7% of total)
ival-add: 36.0ms (3% of total)
ival-true: 7.0ms (0.6% of total)
ival-assert: 3.0ms (0.3% of total)
Bogosity

explain213.0ms (1.8%)

Memory
-8.9MiB live, 307.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
140-0-(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-rescue140
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))underflow56
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))underflow66
(+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))underflow14
Confusion
Predicted +Predicted -
+140
-0242
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+1400
-00242
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0242
114
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
85.0ms512×0valid
Compiler

Compiled 218 to 56 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 62.0ms
ival-sin: 39.0ms (63.3% of total)
ival-pow2: 10.0ms (16.2% of total)
ival-div: 3.0ms (4.9% of total)
ival-mult: 3.0ms (4.9% of total)
ival-sqrt: 3.0ms (4.9% of total)
ival-add: 2.0ms (3.2% of total)
ival-true: 1.0ms (1.6% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess214.0ms (1.8%)

Memory
23.0MiB live, 261.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045153
1103147
2267147
3615147
41916147
56265147
01316
02216
13016
25016
311416
434016
5129216
6336016
7654016
0800611
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.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))
Outputs
(*.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))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
Symmetry

(abs kx)

(negabs th)

(negabs ky)

Compiler

Compiled 16 to 13 computations (18.8% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune2.0ms (0%)

Memory
-36.9MiB live, 1.5MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.4%
(*.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 16 to 13 computations (18.8% saved)

simplify134.0ms (1.1%)

Memory
35.6MiB live, 191.1MiB 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-diff5
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01366
02266
13066
25066
311466
434066
5129266
6336066
7654066
0800651
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.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))
(/.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 ky)
ky
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(sin.f64 kx)
kx
#s(literal 2 binary64)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin.f64 th)
th
Outputs
(*.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))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.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)))))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(sin.f64 kx)
kx
#s(literal 2 binary64)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin.f64 th)
th

localize87.0ms (0.7%)

Memory
-7.7MiB live, 117.4MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.174160009768442
(/.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)))))
accuracy0.23894501953688405
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
accuracy0.28810502930532605
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
accuracy3.4285033488556556
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Samples
76.0ms256×0valid
Compiler

Compiled 134 to 28 computations (79.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 66.0ms
ival-sin: 55.0ms (83.9% of total)
ival-pow2: 5.0ms (7.6% of total)
ival-div: 2.0ms (3.1% of total)
ival-mult: 2.0ms (3.1% of total)
ival-sqrt: 2.0ms (3.1% of total)
ival-add: 1.0ms (1.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series34.0ms (0.3%)

Memory
-20.2MiB live, 54.7MiB allocated
Counts
6 → 45
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(*.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))
(/.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 ky)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
Outputs
(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))))))
(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))))))))))))
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))))))
(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))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(pow (sin kx) 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))))))
(/ (* 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))))
(/ 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))))
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))))
(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)
(* (* 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))))))))))))
Calls

9 calls:

TimeVariablePointExpression
6.0ms
th
@-inf
((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 kx) 2) (pow (sin ky) 2))
6.0ms
ky
@0
((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 kx) 2) (pow (sin ky) 2))
5.0ms
kx
@inf
((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 kx) 2) (pow (sin ky) 2))
3.0ms
kx
@0
((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 kx) 2) (pow (sin ky) 2))
3.0ms
kx
@-inf
((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 kx) 2) (pow (sin ky) 2))

simplify235.0ms (2%)

Memory
-12.3MiB live, 240.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03171402
111541335
254781309
083491224
Stop Event
iter limit
node limit
Counts
45 → 44
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))))))
(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))))))))))))
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))))))
(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))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(pow (sin kx) 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))))))
(/ (* 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))))
(/ 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))))
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))))
(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)
(* (* 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))))))))))))
Outputs
(sin ky)
(sin.f64 ky)
(+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (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 (fma.f64 (*.f64 kx kx) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) #s(literal 1/2 binary64)) (sin.f64 ky)) (*.f64 kx kx) (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 (pow.f64 kx #s(literal 4 binary64)) (/.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 2/45 binary64)) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (sin.f64 ky)) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))
(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) (*.f64 kx kx)) (/.f64 (sin.f64 th) (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 #s(literal -1/2 binary64) (-.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 (*.f64 (*.f64 (-.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)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)))) (*.f64 kx kx) (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 (/.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx) kx (fma.f64 (pow.f64 kx #s(literal 4 binary64)) (*.f64 #s(literal -1/2 binary64) (fma.f64 (*.f64 (*.f64 kx kx) (*.f64 (fma.f64 (/.f64 (-.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)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sin.f64 th))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (*.f64 (neg.f64 (sin.f64 th)) (*.f64 (-.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)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) (sin.f64 th)))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/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 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (*.f64 (-.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)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) #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 (fma.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 (*.f64 (*.f64 kx kx) (fma.f64 (/.f64 (-.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)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (*.f64 (neg.f64 (-.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))))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) #s(literal 1 binary64))
(pow kx 2)
(*.f64 kx kx)
(* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))
(fma.f64 (pow.f64 kx #s(literal 4 binary64)) #s(literal -1/3 binary64) (*.f64 kx kx))
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))
(fma.f64 (pow.f64 kx #s(literal 4 binary64)) (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx))
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))
(fma.f64 (pow.f64 kx #s(literal 4 binary64)) (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (sin.f64 ky))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 ky))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(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 (fma.f64 (*.f64 ky ky) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) #s(literal 1/2 binary64)) (sin.f64 kx)) (*.f64 ky ky) (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 (pow.f64 ky #s(literal 4 binary64)) (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) #s(literal 1/2 binary64)) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 2/45 binary64)) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (sin.f64 kx)) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))
(/ (* ky (sin th)) (sin kx))
(*.f64 (sin.f64 th) (/.f64 ky (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 (fma.f64 (/.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 th) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sin.f64 kx)) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(* 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))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal 1/12 binary64) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (fma.f64 (*.f64 (sin.f64 kx) #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)))) (sin.f64 th)) (/.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 th) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sin.f64 kx))) (*.f64 (sin.f64 th) (/.f64 ky (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))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 kx) #s(literal -1/2 binary64)) (sin.f64 th)) (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)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))) (fma.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (sin.f64 th)) (-.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 (fma.f64 #s(literal -1/5040 binary64) (sin.f64 th) (/.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 (*.f64 (sin.f64 kx) #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)))) (sin.f64 th)) (/.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (/.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 th) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sin.f64 kx))) (*.f64 (sin.f64 th) (/.f64 ky (sin.f64 kx))))
(/ 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))))
(fma.f64 (*.f64 ky (*.f64 (neg.f64 ky) ky)) (/.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/6 binary64)) (sin.f64 kx)) (/.f64 ky (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))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (-.f64 (fma.f64 (+.f64 (fma.f64 (*.f64 (sin.f64 kx) #s(literal 1/2 binary64)) (-.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/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.f64 ky ky) (/.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 ky (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))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (-.f64 (fma.f64 (+.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (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)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))))) (sin.f64 kx) (-.f64 (fma.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (-.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/240 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (/.f64 #s(literal 1/5040 binary64) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 (*.f64 (sin.f64 kx) #s(literal 1/2 binary64)) (-.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/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.f64 ky ky) (/.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 ky (sin.f64 kx)))
ky
(* ky (+ 1 (* -1/6 (pow ky 2))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)
(* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 ky ky) #s(literal -1/6 binary64)) ky)
(* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64)) (*.f64 ky ky) #s(literal -1/6 binary64)) ky)
(pow ky 2)
(*.f64 ky ky)
(* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))
(fma.f64 (pow.f64 ky #s(literal 4 binary64)) #s(literal -1/3 binary64) (*.f64 ky ky))
(* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))
(fma.f64 (pow.f64 ky #s(literal 4 binary64)) (fma.f64 (*.f64 ky ky) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 ky ky))
(* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))
(fma.f64 (pow.f64 ky #s(literal 4 binary64)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/315 binary64) #s(literal 2/45 binary64)) (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 ky ky))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(* 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 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 (*.f64 (*.f64 (sin.f64 ky) th) th) #s(literal -1/6 binary64) (sin.f64 ky))) th)
(* 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))))))))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 (*.f64 (*.f64 (sin.f64 ky) th) th) #s(literal 1/120 binary64) (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)))) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #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 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 (*.f64 (*.f64 (sin.f64 ky) th) th) #s(literal -1/6 binary64) (sin.f64 ky)) (*.f64 (pow.f64 th #s(literal 4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 #s(literal 1/120 binary64) (sin.f64 ky) (*.f64 (*.f64 (*.f64 (sin.f64 ky) th) th) #s(literal -1/5040 binary64)))))) th)

rewrite192.0ms (1.6%)

Memory
41.4MiB live, 228.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01349
02249
16349
238249
3392249
0858134
Stop Event
iter limit
node limit
iter limit
Counts
6 → 359
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(*.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))
(/.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 ky)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
Outputs
(*.f64 (neg.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64)) (/.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(*.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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 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 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 #s(literal -1 binary64) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 1 binary64))
(pow.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/2 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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (fma.f64 #s(literal -1 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))))))
(/.f64 (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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1 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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (*.f64 (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64)))) #s(literal 1 binary64)))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(literal -1 binary64))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 1 binary64))
(neg.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(-.f64 #s(literal 0 binary64) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(fabs.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sin.f64 ky))
(hypot.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)) (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)) (sin.f64 kx))
(hypot.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 1 binary64)) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 1 binary64)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 1 binary64)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 kx)) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (sin.f64 ky) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sin.f64 ky) (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(exp.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(+.f64 (cosh.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (sinh.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(*.f64 (/.f64 (*.f64 (sin.f64 th) (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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(*.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64)))))
(*.f64 (/.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 th) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (neg.f64 (sin.f64 ky)))
(*.f64 (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal 1 binary64)) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)))
(*.f64 (/.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 th) #s(literal -1 binary64)) (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 th) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (/.f64 (sin.f64 th) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal -1 binary64))))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(*.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal -1 binary64))))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(*.f64 (neg.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(*.f64 (neg.f64 (sin.f64 ky)) (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) (sin.f64 th)) #s(literal -1 binary64))
(/.f64 (/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) #s(literal -1 binary64)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 th ky))) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) (sin.f64 th)) (/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)))
(/.f64 (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal -1 binary64)) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal 1 binary64)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) #s(literal -1 binary64)) (/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (neg.f64 (sin.f64 th)) (/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 th ky))) #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 th ky))) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) (sin.f64 th))))
(/.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 th ky))) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) (sin.f64 th)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(neg.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(neg.f64 (*.f64 (sin.f64 th) (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(neg.f64 (*.f64 (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
(*.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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64)))))
(*.f64 (*.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) (sqrt.f64 (sin.f64 ky))) (sqrt.f64 (sin.f64 ky)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (sin.f64 ky))) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1/2 binary64)) (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (/.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (sin.f64 ky)) (/.f64 (sqrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) (sin.f64 ky))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (neg.f64 (sin.f64 ky)) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(literal 1 binary64))
(*.f64 (sin.f64 ky) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 (/.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (/.f64 (sin.f64 ky) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(/.f64 #s(literal -1 binary64) (/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)))
(/.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(literal 1 binary64))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(neg.f64 (/.f64 #s(literal -1 binary64) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(neg.f64 (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(exp.f64 (-.f64 (log.f64 (sin.f64 ky)) (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) #s(literal -1 binary64)))
(+.f64 (cosh.f64 (-.f64 (log.f64 (sin.f64 ky)) (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) (sinh.f64 (-.f64 (log.f64 (sin.f64 ky)) (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))
(+.f64 (cosh.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) #s(literal -1 binary64))) (sinh.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) #s(literal -1 binary64))))
(*.f64 (neg.f64 (sqrt.f64 (sin.f64 ky))) (neg.f64 (sqrt.f64 (sin.f64 ky))))
(*.f64 (fabs.f64 (sqrt.f64 (sin.f64 ky))) (fabs.f64 (sqrt.f64 (sin.f64 ky))))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)) (pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (sin.f64 ky)))
(*.f64 #s(literal -1 binary64) (neg.f64 (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (sin.f64 ky))
(*.f64 (sin.f64 ky) #s(literal 1 binary64))
(pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 1 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (neg.f64 ky)) (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(neg.f64 (neg.f64 (sin.f64 ky)))
(fma.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64) (*.f64 (neg.f64 (cos.f64 ky)) #s(literal 0 binary64)))
(fma.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64) (*.f64 (cos.f64 ky) #s(literal 0 binary64)))
(sin.f64 (neg.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(sin.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (acos.f64 (neg.f64 (cos.f64 ky))))
(sin.f64 (acos.f64 (fabs.f64 (cos.f64 ky))))
(sin.f64 (acos.f64 (cos.f64 ky)))
(sin.f64 (neg.f64 (neg.f64 ky)))
(sin.f64 (neg.f64 (+.f64 (PI.f64) ky)))
(sin.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)))
(sin.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)))
(sin.f64 ky)
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(-.f64 (*.f64 (neg.f64 (cos.f64 ky)) #s(literal 0 binary64)) (*.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(-.f64 (*.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) (*.f64 (cos.f64 ky) #s(literal 0 binary64)))
(-.f64 (*.f64 (cos.f64 ky) #s(literal 0 binary64)) (*.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(-.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 ky)))
(fabs.f64 (neg.f64 (sin.f64 ky)))
(fabs.f64 (sin.f64 ky))
(cos.f64 (neg.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))
(cos.f64 (neg.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(cos.f64 (neg.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(cos.f64 (+.f64 (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(cos.f64 (asin.f64 (neg.f64 (cos.f64 ky))))
(cos.f64 (asin.f64 (fabs.f64 (cos.f64 ky))))
(cos.f64 (asin.f64 (cos.f64 ky)))
(cos.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))
(cos.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(cos.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(exp.f64 (log.f64 (sin.f64 ky)))
(+.f64 (*.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) (*.f64 (neg.f64 (cos.f64 ky)) #s(literal 0 binary64)))
(+.f64 (*.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) (*.f64 (cos.f64 ky) #s(literal 0 binary64)))
(+.f64 (cosh.f64 (log.f64 (sin.f64 ky))) (sinh.f64 (log.f64 (sin.f64 ky))))
(*.f64 (*.f64 (sin.f64 kx) (sqrt.f64 (sin.f64 kx))) (sqrt.f64 (sin.f64 kx)))
(*.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (sin.f64 kx))))
(*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 1 binary64)) (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 kx)) (*.f64 (sqrt.f64 (sin.f64 kx)) (sin.f64 kx)))
(*.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 kx) (sin.f64 kx))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sin.f64 kx)))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 kx) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (neg.f64 kx) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 kx (PI.f64)) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (+.f64 kx (PI.f64)) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 kx) (+.f64 kx (PI.f64)))) (cos.f64 (+.f64 (neg.f64 kx) (+.f64 kx (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 kx (PI.f64)) (neg.f64 kx))) (cos.f64 (+.f64 (+.f64 kx (PI.f64)) (neg.f64 kx)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 kx (PI.f64)) (+.f64 kx (PI.f64)))) (cos.f64 (+.f64 (+.f64 kx (PI.f64)) (+.f64 kx (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))) (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (-.f64 (*.f64 (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) #s(literal -2 binary64))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(/.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(neg.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (log.f64 (sin.f64 kx))) (cosh.f64 (log.f64 (sin.f64 kx)))) (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))
(-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 kx (PI.f64))))))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1 binary64))) (sinh.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1 binary64))))
(+.f64 (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (cos.f64 kx)) (cos.f64 kx)))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))))
(*.f64 (*.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 ky))
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (sin.f64 ky))) (sqrt.f64 (sin.f64 ky)))
(*.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (sin.f64 ky)))
(*.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(*.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sin.f64 ky)))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) (sin.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))) (sin.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 ky) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) (sin.f64 (+.f64 (neg.f64 ky) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (PI.f64) ky) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) (sin.f64 (+.f64 (+.f64 (PI.f64) ky) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 (neg.f64 ky)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))) (sin.f64 (+.f64 (neg.f64 (neg.f64 ky)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 (neg.f64 ky)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (neg.f64 (neg.f64 ky)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 (neg.f64 ky)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (neg.f64 (neg.f64 ky)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))) (sin.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) ky)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) ky)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) ky)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))) (sin.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))) (sin.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 ky (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))) (sin.f64 (+.f64 ky (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 ky (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 ky (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 ky (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 ky (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (neg.f64 ky))) (cos.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (neg.f64 ky)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (PI.f64) ky))) (cos.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (PI.f64) ky)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 ky) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (+.f64 (neg.f64 ky) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) ky) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (+.f64 (+.f64 (PI.f64) ky) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (neg.f64 ky)) (neg.f64 (neg.f64 ky)))) (cos.f64 (+.f64 (neg.f64 (neg.f64 ky)) (neg.f64 (neg.f64 ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (neg.f64 ky)) (neg.f64 (+.f64 (PI.f64) ky)))) (cos.f64 (+.f64 (neg.f64 (neg.f64 ky)) (neg.f64 (+.f64 (PI.f64) ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (neg.f64 ky)) (fma.f64 #s(literal -1 binary64) ky (PI.f64)))) (cos.f64 (+.f64 (neg.f64 (neg.f64 ky)) (fma.f64 #s(literal -1 binary64) ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (neg.f64 ky)) (+.f64 (+.f64 (PI.f64) ky) (PI.f64)))) (cos.f64 (+.f64 (neg.f64 (neg.f64 ky)) (+.f64 (+.f64 (PI.f64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (neg.f64 ky)) ky)) (cos.f64 (+.f64 (neg.f64 (neg.f64 ky)) ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) (neg.f64 (neg.f64 ky)))) (cos.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) ky)) (neg.f64 (neg.f64 ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) (neg.f64 (+.f64 (PI.f64) ky)))) (cos.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) ky)) (neg.f64 (+.f64 (PI.f64) ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) (fma.f64 #s(literal -1 binary64) ky (PI.f64)))) (cos.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) ky)) (fma.f64 #s(literal -1 binary64) ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) (+.f64 (+.f64 (PI.f64) ky) (PI.f64)))) (cos.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) ky)) (+.f64 (+.f64 (PI.f64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) ky)) ky)) (cos.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) ky)) ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (neg.f64 (neg.f64 ky)))) (cos.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (neg.f64 (neg.f64 ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (neg.f64 (+.f64 (PI.f64) ky)))) (cos.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (neg.f64 (+.f64 (PI.f64) ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (PI.f64)))) (cos.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (PI.f64)))) (cos.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) ky)) (cos.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (PI.f64)) ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (neg.f64 (neg.f64 ky)))) (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (neg.f64 (neg.f64 ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (neg.f64 (+.f64 (PI.f64) ky)))) (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (neg.f64 (+.f64 (PI.f64) ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (PI.f64)))) (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (PI.f64)))) (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) ky)) (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (PI.f64)) ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky (neg.f64 (neg.f64 ky)))) (cos.f64 (+.f64 ky (neg.f64 (neg.f64 ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky (neg.f64 (+.f64 (PI.f64) ky)))) (cos.f64 (+.f64 ky (neg.f64 (+.f64 (PI.f64) ky))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky (fma.f64 #s(literal -1 binary64) ky (PI.f64)))) (cos.f64 (+.f64 ky (fma.f64 #s(literal -1 binary64) ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky (+.f64 (+.f64 (PI.f64) ky) (PI.f64)))) (cos.f64 (+.f64 ky (+.f64 (+.f64 (PI.f64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) (cos.f64 (-.f64 (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))) (cos.f64 (-.f64 (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) (cos.f64 (-.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))) (cos.f64 (-.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))) (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64)))) (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))) (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64)))) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (-.f64 (*.f64 (sinh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64))))) #s(literal -2 binary64))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (PI.f64) ky) (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))) (sin.f64 (+.f64 (+.f64 (PI.f64) ky) (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 ky) (+.f64 (PI.f64) ky))) (cos.f64 (fma.f64 #s(literal -1 binary64) ky (+.f64 (PI.f64) ky)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) ky) (neg.f64 ky))) (cos.f64 (+.f64 (+.f64 (PI.f64) ky) (neg.f64 ky)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))) (sin.f64 (fma.f64 #s(literal -1 binary64) ky (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(neg.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (log.f64 (sin.f64 ky))) (cosh.f64 (log.f64 (sin.f64 ky)))) (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))
(-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (neg.f64 ky))))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (PI.f64) ky))))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1 binary64) ky (PI.f64))))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 (+.f64 (PI.f64) ky) (PI.f64))))))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sinh.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))))
(+.f64 (sinh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (cos.f64 ky)) (cos.f64 ky)))
(+.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky) (PI.f64))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1 binary64) ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 (+.f64 (PI.f64) ky) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (PI.f64) #s(literal 1/2 binary64) ky)))))

eval74.0ms (0.6%)

Memory
-2.4MiB live, 122.7MiB allocated
Compiler

Compiled 11 694 to 2 572 computations (78% saved)

prune28.0ms (0.2%)

Memory
-17.4MiB live, 58.5MiB allocated
Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New43822460
Fresh000
Picked101
Done000
Total43922461
Accuracy
100.0%
Counts
461 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
95.9%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
99.6%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
99.5%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal -1 binary64))))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
99.7%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
50.0%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
87.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
87.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
47.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
34.4%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))) (sin.f64 th))
31.4%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))) (sin.f64 th))
33.4%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
89.3%
(*.f64 (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))))) (sin.f64 th))
99.5%
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
99.4%
(*.f64 (neg.f64 (sin.f64 ky)) (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
23.2%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
30.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
23.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
94.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (sin.f64 ky)))
42.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))
28.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Compiler

Compiled 908 to 700 computations (22.9% saved)

simplify155.0ms (1.3%)

Memory
16.0MiB live, 171.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 ky)
cost-diff0
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
cost-diff0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
cost-diff1
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
cost-diff0
(sin.f64 ky)
cost-diff0
(sin.f64 th)
cost-diff0
(*.f64 (sin.f64 th) (sin.f64 ky))
cost-diff0
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
cost-diff0
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
cost-diff0
(sin.f64 ky)
cost-diff0
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
cost-diff0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
cost-diff0
(sin.f64 th)
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (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))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038270
064265
1112265
2263265
3786265
42722265
56373265
08239260
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 ky)
ky
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
kx
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(sin.f64 th)
th
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(*.f64 kx kx)
kx
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(literal 2 binary64)
(sin.f64 th)
th
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (sin.f64 th) (sin.f64 ky))
(sin.f64 th)
th
(sin.f64 ky)
ky
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
kx
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal 2 binary64) kx))
(*.f64 #s(literal 2 binary64) kx)
#s(literal 2 binary64)
kx
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin.f64 th)
th
Outputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sin.f64 ky)
ky
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(sin.f64 th)
th
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))
(+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(*.f64 kx kx)
kx
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(literal 2 binary64)
(sin.f64 th)
th
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 th) (sin.f64 ky))
(sin.f64 th)
th
(sin.f64 ky)
ky
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)))))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(sqrt.f64 (fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64))))
(+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))
(*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal 2 binary64) kx))
(cos.f64 (*.f64 #s(literal -2 binary64) kx))
(*.f64 #s(literal 2 binary64) kx)
#s(literal 2 binary64)
kx
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin.f64 th)
th

localize248.0ms (2.1%)

Memory
-5.5MiB live, 326.8MiB allocated
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.174160009768442
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
accuracy0.23894501953688405
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
accuracy3.4285033488556556
(sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
accuracy13.086297822592233
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
accuracy0.00390625
(sin.f64 th)
accuracy0.05078125
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
accuracy0.171875
(*.f64 (sin.f64 th) (sin.f64 ky))
accuracy2.671197128689023
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
accuracy0.174160009768442
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
accuracy0.23894501953688405
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
accuracy3.4285033488556556
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
accuracy34.62518425566666
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
accuracy0.00390625
(sin.f64 th)
accuracy45.75008796027506
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
accuracy0.00390625
(sin.f64 th)
accuracy0.05078125
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
accuracy0.16015625
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
accuracy0.174160009768442
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
Samples
108.0ms146×0valid
39.0ms48×2valid
35.0ms62×1valid
Compiler

Compiled 554 to 69 computations (87.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 132.0ms
ival-mult: 52.0ms (39.3% of total)
ival-sin: 23.0ms (17.4% of total)
ival-cos: 21.0ms (15.9% of total)
ival-div: 8.0ms (6.1% of total)
adjust: 6.0ms (4.5% of total)
ival-pow2: 6.0ms (4.5% of total)
ival-hypot: 5.0ms (3.8% of total)
ival-sqrt: 5.0ms (3.8% of total)
ival-add: 3.0ms (2.3% of total)
ival-sub: 2.0ms (1.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series42.0ms (0.3%)

Memory
3.0MiB live, 79.1MiB allocated
Counts
17 → 78
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 ky)
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(sin.f64 th)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (sin.f64 th) (sin.f64 ky))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Outputs
(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))))))))))))
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)
(+ (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))))))
(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))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(- 1/2 (* 1/2 (cos (* 2 kx))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(pow (sin kx) 2)
(sqrt (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))
(/ (* 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))))
(/ 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))))
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 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))))))
(* ky (sin th))
(* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))
(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))))
(sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* 1/2 (* (pow ky 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* -1/2 (* (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (* (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
(* (sin ky) (sin th))
(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))))))))))))
th
(* th (+ 1 (* -1/6 (pow th 2))))
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
(* th (sin ky))
(* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
Calls

9 calls:

TimeVariablePointExpression
7.0ms
kx
@inf
((* (/ (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) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (- 1/2 (* (cos (* 2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (pow (sin kx) 2) (pow (sin ky) 2) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))
6.0ms
ky
@0
((* (/ (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) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (- 1/2 (* (cos (* 2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (pow (sin kx) 2) (pow (sin ky) 2) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))
6.0ms
ky
@-inf
((* (/ (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) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (- 1/2 (* (cos (* 2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (pow (sin kx) 2) (pow (sin ky) 2) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))
4.0ms
ky
@inf
((* (/ (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) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (- 1/2 (* (cos (* 2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (pow (sin kx) 2) (pow (sin ky) 2) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))
4.0ms
kx
@-inf
((* (/ (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) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (- 1/2 (* (cos (* 2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (pow (sin kx) 2) (pow (sin ky) 2) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))

simplify264.0ms (2.2%)

Memory
-29.7MiB live, 290.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05203068
119662863
087022714
Stop Event
iter limit
node limit
Counts
78 → 76
Calls
Call 1
Inputs
(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))))))))))))
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)
(+ (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))))))
(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))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(- 1/2 (* 1/2 (cos (* 2 kx))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(pow (sin kx) 2)
(sqrt (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))
(/ (* 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))))
(/ 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))))
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 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))))))
(* ky (sin th))
(* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))
(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))))
(sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* 1/2 (* (pow ky 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* -1/2 (* (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (* (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
(* (sin ky) (sin th))
(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))))))))))))
th
(* th (+ 1 (* -1/6 (pow th 2))))
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
(* th (sin ky))
(* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
Outputs
(sin th)
(sin.f64 th)
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))
(fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (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 #s(literal -1/2 binary64) (-.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)))) (*.f64 kx kx) (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 (fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 kx kx) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) (sin.f64 th))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/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 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) #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 (fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) #s(literal 1 binary64))
(sin ky)
(sin.f64 ky)
(+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))
(fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (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 (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)) (sin.f64 ky)) (*.f64 kx kx) (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 (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (sin.f64 ky)) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky))
(pow kx 2)
(*.f64 kx kx)
(* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))
(*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 ky))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(- 1/2 (* 1/2 (cos (* 2 kx))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 ky))
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(sqrt (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))
(sqrt.f64 (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(/ (* ky (sin th)) (sin kx))
(/.f64 (*.f64 (sin.f64 th) ky) (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 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(* 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 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/12 binary64) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sin.f64 th)) (/.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(* 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 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (sin.f64 th)) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))) (fma.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (fma.f64 #s(literal -1/5040 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sin.f64 th)) (/.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(/ 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 (-.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) (*.f64 (+.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 ky ky))) ky)
(* 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 (fma.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.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 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky)
(* 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 (fma.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))) (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 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)))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.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 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky)
ky
(* ky (+ 1 (* -1/6 (pow ky 2))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)
(* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)
(* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64)) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)
(sin kx)
(sin.f64 kx)
(+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))
(fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 kx)) #s(literal 1/2 binary64) (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 (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)) (sin.f64 kx)) (*.f64 ky ky) (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 (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (sin.f64 kx)) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx))
(* ky (sin th))
(*.f64 (sin.f64 th) ky)
(* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) (sin.f64 th)) ky)
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal 1/120 binary64) (*.f64 ky ky) #s(literal -1/6 binary64))) (*.f64 ky ky) (sin.f64 th)) ky)
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64))) (*.f64 ky ky) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))) (*.f64 ky ky) (sin.f64 th)) ky)
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 #s(literal -1/6 binary64) (sin.f64 th)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64)) (sin.f64 th) (fma.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) #s(literal 1/2 binary64)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64)) (sin.f64 th) (fma.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (fma.f64 (fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 4 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))) (sin.f64 th) (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))) (fma.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/5040 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (*.f64 ky ky) (*.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) #s(literal 1/2 binary64))))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))
(*.f64 (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) ky)
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(*.f64 (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal 1/12 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64)))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) ky)
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64) (fma.f64 (fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (fma.f64 #s(literal -1/2 binary64) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 4 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) (*.f64 #s(literal -1/12 binary64) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal -1/240 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal -1/5040 binary64)))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal 1/12 binary64))))) (*.f64 ky ky) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64)))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) ky)
(pow ky 2)
(*.f64 ky ky)
(* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))
(*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) ky) ky)
(* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))
(*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 ky ky) #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 (fma.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/315 binary64) #s(literal 2/45 binary64)) (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky) ky)
(sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))
(sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* 1/2 (* (pow ky 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
(fma.f64 (*.f64 (*.f64 ky ky) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* -1/2 (* (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64))) (*.f64 ky ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (* (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/2 binary64))) (*.f64 ky ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(* (sin ky) (sin th))
(*.f64 (sin.f64 th) (sin.f64 ky))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(* 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 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky))) th)
(* 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 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)))) (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 ky))) th)
(* 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 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky)) (*.f64 (*.f64 (*.f64 th th) (*.f64 th th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)))))) th)
th
(* th (+ 1 (* -1/6 (pow th 2))))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)
(* th (sin ky))
(*.f64 (sin.f64 ky) th)
(* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))
(*.f64 (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky)) th)
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (*.f64 th th) (sin.f64 ky)) th)
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))) (*.f64 th th) (*.f64 #s(literal -1/6 binary64) (sin.f64 ky))) (*.f64 th th) (sin.f64 ky)) th)
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky))) th)
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)))) (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 ky))) th)
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky)) (*.f64 (*.f64 (*.f64 th th) (*.f64 th th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)))))) th)

rewrite189.0ms (1.6%)

Memory
16.1MiB live, 325.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038185
064149
1254149
21799149
09781149
Stop Event
iter limit
node limit
iter limit
Counts
17 → 674
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 ky)
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(sin.f64 th)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (sin.f64 th) (sin.f64 ky))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Outputs
(*.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))) #s(literal -1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))))
(pow.f64 (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)))
(/.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(neg.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 ky))
(*.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(neg.f64 (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(exp.f64 (-.f64 (log.f64 (sin.f64 ky)) (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (neg.f64 (sqrt.f64 (sin.f64 ky))) (neg.f64 (sqrt.f64 (sin.f64 ky))))
(*.f64 (fabs.f64 (sqrt.f64 (sin.f64 ky))) (fabs.f64 (sqrt.f64 (sin.f64 ky))))
(*.f64 (sqrt.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (sqrt.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(*.f64 (sqrt.f64 (neg.f64 (sin.f64 ky))) (sqrt.f64 (neg.f64 (sin.f64 ky))))
(*.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)) (pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (sin.f64 ky))
(pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 1 binary64))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (fabs.f64 (cos.f64 ky)))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 6 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 ky) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal -2 binary64)))
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(sin.f64 (acos.f64 (neg.f64 (cos.f64 ky))))
(sin.f64 (acos.f64 (fabs.f64 (cos.f64 ky))))
(sin.f64 (acos.f64 (cos.f64 ky)))
(sin.f64 ky)
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(fabs.f64 (-.f64 (sin.f64 ky) #s(literal 0 binary64)))
(fabs.f64 (neg.f64 (neg.f64 (sin.f64 ky))))
(fabs.f64 (neg.f64 (sin.f64 ky)))
(fabs.f64 (sin.f64 ky))
(cos.f64 (asin.f64 (neg.f64 (cos.f64 ky))))
(cos.f64 (asin.f64 (fabs.f64 (cos.f64 ky))))
(cos.f64 (asin.f64 (cos.f64 ky)))
(exp.f64 (/.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 2 binary64)))
(exp.f64 (log.f64 (sin.f64 ky)))
(+.f64 (cosh.f64 (log.f64 (sin.f64 ky))) (sinh.f64 (log.f64 (sin.f64 ky))))
(*.f64 (neg.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/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 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)) #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 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 3 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))
(/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64) (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (-.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 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) (+.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 (/.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))
(sqrt.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sin.f64 ky))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sin.f64 ky))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (sin.f64 kx))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sin.f64 ky))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (sin.f64 kx) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 kx) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (sin.f64 ky) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 ky) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(sin.f64 th)
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(*.f64 (sin.f64 ky) (*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal -1/2 binary64)) (sin.f64 th)))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (*.f64 (sin.f64 th) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky)))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (*.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (*.f64 #s(literal 2 binary64) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(/.f64 (sin.f64 th) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky)))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal -1/2 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal -1/2 binary64)) (sin.f64 ky))
(*.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(*.f64 (sin.f64 ky) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(/.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(neg.f64 (/.f64 (neg.f64 (sin.f64 ky)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))))
(exp.f64 (-.f64 (log.f64 (sin.f64 ky)) (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (neg.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (pow.f64 (-.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (-.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (-.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))))
(/.f64 (hypot.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (-.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (pow (sin kx) 2) (*.f64 kx kx))) (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 2 binary64))) (+.f64 (pow.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))
(sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))
(fabs.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))) #s(literal 1/2 binary64))))
(*.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))) #s(literal -1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))))
(pow.f64 (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)))
(/.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(neg.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sin.f64 th))
(pow.f64 (/.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))) #s(literal -1 binary64))
(/.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))) #s(literal -2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 th ky))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))))
(/.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) #s(literal 2 binary64))
(-.f64 (/.f64 (cos.f64 (-.f64 th ky)) #s(literal 2 binary64)) (/.f64 (cos.f64 (+.f64 th ky)) #s(literal 2 binary64)))
(*.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(*.f64 (fabs.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (neg.f64 (sin.f64 kx))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (sin.f64 kx)))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (sin.f64 kx)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))
(*.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (sin.f64 kx))))
(*.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64))))
(*.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64))))
(*.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))) #s(literal 1/2 binary64))
(*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal -2 binary64)))
(*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)))
(*.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 kx) (sin.f64 kx))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sin.f64 kx)))
(pow.f64 (/.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))) #s(literal -1 binary64))
(pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 4 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 6 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 kx) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (fabs.f64 (cos.f64 kx)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (fabs.f64 (cos.f64 kx)))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 kx (PI.f64)) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (+.f64 kx (PI.f64)) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 kx) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (fma.f64 #s(literal -1 binary64) kx (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 kx (PI.f64)) (+.f64 kx (PI.f64)))) (cos.f64 (+.f64 (+.f64 kx (PI.f64)) (+.f64 kx (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 kx (PI.f64)) (neg.f64 kx))) (cos.f64 (+.f64 (+.f64 kx (PI.f64)) (neg.f64 kx)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 kx) (+.f64 kx (PI.f64)))) (cos.f64 (fma.f64 #s(literal -1 binary64) kx (+.f64 kx (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 4 binary64))) (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 6 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 kx) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))) #s(literal -2 binary64))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))))))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) #s(literal 2 binary64))
(neg.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(fma.f64 (cos.f64 (fma.f64 #s(literal -2 binary64) kx (PI.f64))) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) (cos.f64 (fma.f64 #s(literal -2 binary64) kx (PI.f64))) #s(literal 1/2 binary64))
(sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))
(-.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(-.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 kx (PI.f64))))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (cos.f64 (fma.f64 #s(literal -2 binary64) kx (PI.f64)))) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(fabs.f64 (-.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(fabs.f64 (-.f64 (/.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (*.f64 (neg.f64 (cos.f64 (fma.f64 #s(literal -2 binary64) kx (PI.f64)))) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))))
(fabs.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(exp.f64 (/.f64 (fma.f64 (log.f64 (sin.f64 kx)) #s(literal 2 binary64) (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(exp.f64 (/.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 (sin.f64 kx))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) #s(literal 1/2 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (cos.f64 kx)) (cos.f64 kx)))
(+.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))
(*.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))) #s(literal -1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))))
(pow.f64 (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky)))
(/.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(neg.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 ky))
(*.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(neg.f64 (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(exp.f64 (-.f64 (log.f64 (sin.f64 ky)) (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) #s(literal -1 binary64)))
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(*.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(*.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(*.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (neg.f64 (sin.f64 ky))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (sin.f64 ky)))
(*.f64 (sqrt.f64 (neg.f64 (sin.f64 ky))) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64))))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64))))
(*.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 ky))))
(*.f64 (fabs.f64 (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64))) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 1/2 binary64))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(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 #s(literal 2 binary64) ky)))) #s(literal -1 binary64))
(pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 4 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 6 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 ky) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (fabs.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 ky) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (neg.f64 ky) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 ky (PI.f64)) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (+.f64 ky (PI.f64)) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 ky) (+.f64 ky (PI.f64)))) (cos.f64 (+.f64 (neg.f64 ky) (+.f64 ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 ky (PI.f64)) (neg.f64 ky))) (cos.f64 (+.f64 (+.f64 ky (PI.f64)) (neg.f64 ky)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 ky (PI.f64)) (+.f64 ky (PI.f64)))) (cos.f64 (+.f64 (+.f64 ky (PI.f64)) (+.f64 ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 4 binary64))) (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 6 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 ky) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal -2 binary64))
(/.f64 (fabs.f64 (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))
(-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (PI.f64))))))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))))
(fabs.f64 (neg.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(fabs.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky)))
(fabs.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(fabs.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(exp.f64 (/.f64 (fma.f64 (log.f64 (sin.f64 ky)) #s(literal 2 binary64) (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(exp.f64 (/.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 (sin.f64 ky))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (cos.f64 ky)) (cos.f64 ky)))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/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 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)) #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 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 3 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))
(/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64) (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (-.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 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) (+.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 (/.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))
(sqrt.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sin.f64 ky))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sin.f64 ky))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (sin.f64 kx))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sin.f64 ky))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (sin.f64 kx) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 kx) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(hypot.f64 (sin.f64 ky) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 ky) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))))

eval211.0ms (1.8%)

Memory
22.6MiB live, 333.8MiB allocated
Compiler

Compiled 26 566 to 3 859 computations (85.5% saved)

prune60.0ms (0.5%)

Memory
21.3MiB live, 173.8MiB allocated
Pruning

33 alts after pruning (30 fresh and 3 done)

PrunedKeptTotal
New1 015251 040
Fresh12517
Picked235
Done000
Total1 029331 062
Accuracy
100.0%
Counts
1 062 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
87.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 1/2 binary64))) (sin.f64 kx)))
95.9%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
79.1%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))) #s(literal 2 binary64)))
79.0%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
34.4%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
31.4%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
99.6%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
50.8%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
44.1%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
55.0%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
79.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
47.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
27.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
39.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
25.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
38.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
33.4%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
79.2%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
38.2%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
47.9%
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
23.2%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
30.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
33.9%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
28.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
16.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
38.4%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
33.8%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
28.5%
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
Compiler

Compiled 1 574 to 1 196 computations (24% saved)

simplify166.0ms (1.4%)

Memory
-12.2MiB live, 222.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 ky)
cost-diff0
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
cost-diff0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
cost-diff2
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
cost-diff0
(sin.f64 ky)
cost-diff0
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
cost-diff0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
cost-diff2
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
cost-diff0
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky))
cost-diff0
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
cost-diff1
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
cost-diff1
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
cost-diff0
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
cost-diff0
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
cost-diff2
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
cost-diff0
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
cost-diff0
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
cost-diff0
(sin.f64 th)
cost-diff0
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060512
099507
1181507
2450507
31302484
44013484
57312484
08090463
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(sin.f64 th)
th
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 ky)
ky
(sin.f64 kx)
kx
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 th th)
th
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
#s(literal 1 binary64)
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal -2 binary64) kx))
(*.f64 #s(literal -2 binary64) kx)
#s(literal -2 binary64)
kx
ky
(sin.f64 th)
th
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(*.f64 kx kx)
kx
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 th th)
th
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
#s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64))
#s(literal -1/3 binary64)
(*.f64 kx kx)
kx
#s(literal 1 binary64)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(literal 2 binary64)
(sin.f64 th)
th
Outputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(sin.f64 th)
th
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 ky)
ky
(sin.f64 kx)
kx
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th)))
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
#s(approx (sin th) (fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
(fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th)
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64))
(*.f64 th th)
th
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) ky)) (sin.f64 th))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) ky))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) ky)
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))
#s(literal 1 binary64)
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal -2 binary64) kx))
(*.f64 #s(literal -2 binary64) kx)
#s(literal -2 binary64)
kx
ky
(sin.f64 th)
th
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(/.f64 (*.f64 #s(approx (sin th) (fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th)) (sin.f64 ky)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))
(+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx)))
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(*.f64 kx kx)
kx
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
#s(approx (sin th) (fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
(fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th)
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64))
(*.f64 th th)
th
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx) kx)))))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx) kx)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx) kx))))
(+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx) kx)))
#s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
#s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx) kx))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(*.f64 (fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx) kx)
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx)
(fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64))
#s(literal -1/3 binary64)
(*.f64 kx kx)
kx
#s(literal 1 binary64)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(literal 2 binary64)
(sin.f64 th)
th

localize312.0ms (2.6%)

Memory
-5.7MiB live, 381.8MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.174160009768442
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
accuracy0.23894501953688405
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
accuracy3.4285033488556556
(sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
accuracy35.80551978566078
#s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
accuracy0.23894501953688405
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
accuracy3.4285033488556556
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
accuracy33.39285066774179
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
accuracy34.62518425566666
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
accuracy0.26953125
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)
accuracy13.086297822592233
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
accuracy13.89369972634475
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
accuracy35.42759103303886
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky))
accuracy0.03125
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
accuracy0.09690373016428752
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
accuracy33.39285066774179
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
accuracy45.75008796027506
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
accuracy0.00390625
(sin.f64 th)
accuracy0.05078125
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
accuracy0.17578125
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
accuracy0.2109375
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
Samples
101.0ms66×2valid
92.0ms145×0valid
40.0ms12×3valid
27.0ms33×1valid
Compiler

Compiled 912 to 109 computations (88% saved)

Precisions
Click to see histograms. Total time spent on operations: 217.0ms
ival-cos: 57.0ms (26.3% of total)
ival-mult: 42.0ms (19.4% of total)
ival-sub: 23.0ms (10.6% of total)
ival-sin: 21.0ms (9.7% of total)
adjust: 16.0ms (7.4% of total)
ival-pow2: 13.0ms (6% of total)
ival-div: 11.0ms (5.1% of total)
ival-add: 9.0ms (4.2% of total)
const: 8.0ms (3.7% of total)
ival-sqrt: 8.0ms (3.7% of total)
ival-hypot: 8.0ms (3.7% of total)
exact: 1.0ms (0.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series56.0ms (0.5%)

Memory
-16.0MiB live, 94.1MiB allocated
Counts
25 → 104
Calls
Call 1
Inputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(sin.f64 th)
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sin.f64 ky)
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
(sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Outputs
(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))))))))))))
1
(+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(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))))))
(/ 1 (pow kx 2))
(/ (+ 1 (* 1/3 (pow kx 2))) (pow kx 2))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* 1/15 (pow kx 2))))) (pow kx 2))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* (pow kx 2) (+ 1/15 (* 2/189 (pow kx 2))))))) (pow kx 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))))
(+ 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))))))
kx
(* kx (+ 1 (* -1/3 (pow kx 2))))
(/ 1 kx)
(/ (+ 1 (* 1/6 (pow kx 2))) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* 7/360 (pow kx 2))))) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* (pow kx 2) (+ 7/360 (* 31/15120 (pow kx 2))))))) kx)
(/ ky kx)
(/ (+ ky (* 1/6 (* (pow kx 2) ky))) kx)
(/ (+ ky (* (pow kx 2) (+ (* 7/360 (* (pow kx 2) ky)) (* 1/6 ky)))) kx)
(/ (+ ky (* (pow kx 2) (+ (* 1/6 ky) (* (pow kx 2) (+ (* 31/15120 (* (pow kx 2) ky)) (* 7/360 ky)))))) kx)
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (/ 1 (sin ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))
(- 1/2 (* 1/2 (cos (* -2 kx))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* -1/3 (pow kx 3))
(* (pow kx 3) (- (/ 1 (pow kx 2)) 1/3))
(sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(pow (sin kx) 2)
(- 1/2 (* 1/2 (cos (* 2 kx))))
(sqrt (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))
(* -1 (* (pow kx 3) (- 1/3 (/ 1 (pow kx 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 kx) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)
(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))))))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))
(/ 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))))
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))))
(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))))
(sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* 1/2 (* (pow ky 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* -1/2 (* (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (* (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
(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))))))))))))
th
(* th (+ 1 (* -1/6 (pow th 2))))
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
(+ 1 (* -1/6 (pow th 2)))
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
(* -1/6 (pow th 3))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(* -1/6 (pow th 2))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
Calls

9 calls:

TimeVariablePointExpression
11.0ms
kx
@-inf
((/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (+ (* (* th th) -1/6) 1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (+ (* (* th th) -1/6) 1) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/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) (* (+ (* -1/3 (* kx kx)) 1) kx) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (pow (sin kx) 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (pow (sin ky) 2) (- 1/2 (* (cos (* 2 kx)) 1/2)) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))
8.0ms
ky
@0
((/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (+ (* (* th th) -1/6) 1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (+ (* (* th th) -1/6) 1) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/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) (* (+ (* -1/3 (* kx kx)) 1) kx) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (pow (sin kx) 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (pow (sin ky) 2) (- 1/2 (* (cos (* 2 kx)) 1/2)) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))
7.0ms
kx
@0
((/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (+ (* (* th th) -1/6) 1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (+ (* (* th th) -1/6) 1) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/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) (* (+ (* -1/3 (* kx kx)) 1) kx) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (pow (sin kx) 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (pow (sin ky) 2) (- 1/2 (* (cos (* 2 kx)) 1/2)) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))
6.0ms
kx
@inf
((/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (+ (* (* th th) -1/6) 1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (+ (* (* th th) -1/6) 1) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/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) (* (+ (* -1/3 (* kx kx)) 1) kx) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (pow (sin kx) 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (pow (sin ky) 2) (- 1/2 (* (cos (* 2 kx)) 1/2)) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))
5.0ms
ky
@-inf
((/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (+ (* (* th th) -1/6) 1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (+ (* (* th th) -1/6) 1) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/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) (* (+ (* -1/3 (* kx kx)) 1) kx) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (pow (sin kx) 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (pow (sin ky) 2) (- 1/2 (* (cos (* 2 kx)) 1/2)) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))))

simplify174.0ms (1.4%)

Memory
-0.5MiB live, 245.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06153503
122743299
089233111
Stop Event
iter limit
node limit
Counts
104 → 101
Calls
Call 1
Inputs
(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))))))))))))
1
(+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(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))))))
(/ 1 (pow kx 2))
(/ (+ 1 (* 1/3 (pow kx 2))) (pow kx 2))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* 1/15 (pow kx 2))))) (pow kx 2))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* (pow kx 2) (+ 1/15 (* 2/189 (pow kx 2))))))) (pow kx 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))))
(+ 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))))))
kx
(* kx (+ 1 (* -1/3 (pow kx 2))))
(/ 1 kx)
(/ (+ 1 (* 1/6 (pow kx 2))) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* 7/360 (pow kx 2))))) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* (pow kx 2) (+ 7/360 (* 31/15120 (pow kx 2))))))) kx)
(/ ky kx)
(/ (+ ky (* 1/6 (* (pow kx 2) ky))) kx)
(/ (+ ky (* (pow kx 2) (+ (* 7/360 (* (pow kx 2) ky)) (* 1/6 ky)))) kx)
(/ (+ ky (* (pow kx 2) (+ (* 1/6 ky) (* (pow kx 2) (+ (* 31/15120 (* (pow kx 2) ky)) (* 7/360 ky)))))) kx)
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (/ 1 (sin ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))
(- 1/2 (* 1/2 (cos (* -2 kx))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* -1/3 (pow kx 3))
(* (pow kx 3) (- (/ 1 (pow kx 2)) 1/3))
(sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(pow (sin kx) 2)
(- 1/2 (* 1/2 (cos (* 2 kx))))
(sqrt (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))
(* -1 (* (pow kx 3) (- 1/3 (/ 1 (pow kx 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 kx) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)
(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))))))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))
(/ 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))))
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))))
(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))))
(sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* 1/2 (* (pow ky 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* -1/2 (* (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (* (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
(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))))))))))))
th
(* th (+ 1 (* -1/6 (pow th 2))))
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
(+ 1 (* -1/6 (pow th 2)))
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
(* -1/6 (pow th 3))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(* -1/6 (pow th 2))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
Outputs
(sin th)
(sin.f64 th)
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))
(fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (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 #s(literal -1/2 binary64) (-.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)))) (*.f64 kx kx) (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 (fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 kx kx) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) (sin.f64 th))
1
#s(literal 1 binary64)
(+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(fma.f64 (/.f64 (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))
(+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(fma.f64 (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) #s(literal 1 binary64))
(sin ky)
(sin.f64 ky)
(+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))
(fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (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 (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)) (sin.f64 ky)) (*.f64 kx kx) (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 (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (sin.f64 ky)) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky))
(/ 1 (pow kx 2))
(/.f64 #s(literal 1 binary64) (*.f64 kx kx))
(/ (+ 1 (* 1/3 (pow kx 2))) (pow kx 2))
(/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* 1/15 (pow kx 2))))) (pow kx 2))
(/.f64 (fma.f64 (fma.f64 #s(literal 1/15 binary64) (*.f64 kx kx) #s(literal 1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* (pow kx 2) (+ 1/15 (* 2/189 (pow kx 2))))))) (pow kx 2))
(/.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 2/189 binary64) (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 kx kx) #s(literal 1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))
(pow kx 2)
(*.f64 kx kx)
(* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))
(*.f64 (fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx) kx)
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))
(*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/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 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) #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 (fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) #s(literal 1 binary64))
kx
(* kx (+ 1 (* -1/3 (pow kx 2))))
(fma.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64) kx)
(/ 1 kx)
(/.f64 #s(literal 1 binary64) kx)
(/ (+ 1 (* 1/6 (pow kx 2))) kx)
(/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* 7/360 (pow kx 2))))) kx)
(/.f64 (fma.f64 (fma.f64 #s(literal 7/360 binary64) (*.f64 kx kx) #s(literal 1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* (pow kx 2) (+ 7/360 (* 31/15120 (pow kx 2))))))) kx)
(/.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 31/15120 binary64) (*.f64 kx kx) #s(literal 7/360 binary64)) (*.f64 kx kx) #s(literal 1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(/ ky kx)
(/.f64 ky kx)
(/ (+ ky (* 1/6 (* (pow kx 2) ky))) kx)
(/.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) kx)
(/ (+ ky (* (pow kx 2) (+ (* 7/360 (* (pow kx 2) ky)) (* 1/6 ky)))) kx)
(/.f64 (fma.f64 (*.f64 ky (fma.f64 #s(literal 7/360 binary64) (*.f64 kx kx) #s(literal 1/6 binary64))) (*.f64 kx kx) ky) kx)
(/ (+ ky (* (pow kx 2) (+ (* 1/6 ky) (* (pow kx 2) (+ (* 31/15120 (* (pow kx 2) ky)) (* 7/360 ky)))))) kx)
(/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 ky (fma.f64 #s(literal 31/15120 binary64) (*.f64 kx kx) #s(literal 7/360 binary64))) kx) kx (*.f64 #s(literal 1/6 binary64) ky)) (*.f64 kx kx) ky) kx)
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(* (/ 1 (sin ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(- 1/2 (* 1/2 (cos (* -2 kx))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 ky))
(* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 ky))
(* -1/3 (pow kx 3))
(*.f64 (pow.f64 kx #s(literal 3 binary64)) #s(literal -1/3 binary64))
(* (pow kx 3) (- (/ 1 (pow kx 2)) 1/3))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 kx kx)) #s(literal 1/3 binary64)) (pow.f64 kx #s(literal 3 binary64)))
(sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)
(pow (sin kx) 2)
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(- 1/2 (* 1/2 (cos (* 2 kx))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(sqrt (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))
(sqrt.f64 (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(* -1 (* (pow kx 3) (- 1/3 (/ 1 (pow kx 2)))))
(*.f64 (neg.f64 (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (*.f64 kx kx)))) (pow.f64 kx #s(literal 3 binary64)))
(/ (* ky (sin th)) (sin kx))
(/.f64 (*.f64 (sin.f64 th) ky) (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 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(* 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 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/12 binary64) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sin.f64 th)) (/.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(* 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 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (sin.f64 th)) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))) (fma.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (fma.f64 #s(literal -1/5040 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sin.f64 th)) (/.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(/ (sin kx) ky)
(/.f64 (sin.f64 kx) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)
(/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) ky) ky (sin.f64 kx)) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)
(/.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/3 binary64)) (sin.f64 kx)) #s(literal -1/2 binary64) (fma.f64 #s(literal 7/360 binary64) (sin.f64 kx) (/.f64 #s(literal 1/12 binary64) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)))) (*.f64 ky ky) (sin.f64 kx)) ky)
(/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)
(/.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/3 binary64)) (sin.f64 kx)) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/3 binary64)) (sin.f64 kx)) #s(literal -1/12 binary64) (fma.f64 #s(literal 31/15120 binary64) (sin.f64 kx) (/.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 7/720 binary64)) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 #s(literal 7/360 binary64) (sin.f64 kx) (/.f64 #s(literal 1/12 binary64) (sin.f64 kx))))) (*.f64 ky ky) (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)))) (*.f64 ky ky) (sin.f64 kx)) ky)
(sin kx)
(sin.f64 kx)
(+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))
(fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 kx)) #s(literal 1/2 binary64) (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 (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)) (sin.f64 kx)) (*.f64 ky ky) (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 (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (sin.f64 kx)) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64)) (sin.f64 th) (fma.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) #s(literal 1/2 binary64)))) (*.f64 ky ky) (*.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (fma.f64 (fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 4 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))) (sin.f64 th) (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))) (fma.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/5040 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (*.f64 ky ky) (*.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) #s(literal 1/2 binary64))))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))
(*.f64 (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) ky)
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(*.f64 (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal 1/12 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64)))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) ky)
(* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64) (fma.f64 (fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (fma.f64 #s(literal -1/2 binary64) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 4 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) (*.f64 #s(literal -1/12 binary64) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal -1/240 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal -1/5040 binary64)))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal 1/12 binary64))))) (*.f64 ky ky) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64)))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) ky)
(/ 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 (-.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) (*.f64 (+.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 ky ky))) ky)
(* 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 (fma.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.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 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky)
(* 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 (fma.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))) (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 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)))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.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 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky)
ky
(* ky (+ 1 (* -1/6 (pow ky 2))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)
(* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)
(* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64)) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)
(pow ky 2)
(*.f64 ky ky)
(* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))
(*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) ky) ky)
(* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))
(*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 ky ky) #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 (fma.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/315 binary64) #s(literal 2/45 binary64)) (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky) ky)
(sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))
(sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* 1/2 (* (pow ky 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
(fma.f64 (*.f64 (*.f64 ky ky) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* -1/2 (* (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64))) (*.f64 ky ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (* (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) #s(literal 1/2 binary64))) (*.f64 ky ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(pow (sin ky) 2)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(* 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 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th) (sin.f64 ky))) th)
(* 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))))))))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th) (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)))) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #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 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th) (sin.f64 ky)) (*.f64 (*.f64 (*.f64 th th) (*.f64 th th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 #s(literal 1/120 binary64) (sin.f64 ky) (*.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th)))))) th)
th
(* th (+ 1 (* -1/6 (pow th 2))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th)
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) th)
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) th)
(+ 1 (* -1/6 (pow th 2)))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th) (sin.f64 ky))) th)
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th) (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)))) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th) (sin.f64 ky)) (*.f64 (*.f64 (*.f64 th th) (*.f64 th th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 #s(literal 1/120 binary64) (sin.f64 ky) (*.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th)))))) th)
(* -1/6 (pow th 3))
(*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64)))
(* -1/6 (pow th 2))
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
(*.f64 (neg.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 th th)))) (pow.f64 th #s(literal 3 binary64)))

rewrite217.0ms (1.8%)

Memory
-20.0MiB live, 182.5MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060371
099332
1380294
22779288
08211288
Stop Event
iter limit
node limit
iter limit
Counts
25 → 635
Calls
Call 1
Inputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(sin.f64 th)
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sin.f64 ky)
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
(sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
(sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Outputs
(*.f64 (/.f64 (sin.f64 th) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) (sin.f64 th)) #s(literal -1 binary64)))
(*.f64 (neg.f64 (sin.f64 th)) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (pow.f64 (sin.f64 th) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 th)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal -1 binary64))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (neg.f64 (neg.f64 (sin.f64 th))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 ky) (sin.f64 th)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 ky) (sin.f64 th))))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(neg.f64 (/.f64 (neg.f64 (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(neg.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 ky) (sin.f64 th)))) #s(literal -1 binary64)))
(sin.f64 th)
(*.f64 (pow.f64 (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(*.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) (pow.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64))
(/.f64 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 1 binary64)) (sin.f64 ky))
(/.f64 (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 ky))))
(/.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (neg.f64 (sin.f64 ky)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(/.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64))
(neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky))))
(exp.f64 (-.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64)) (log.f64 (sin.f64 ky))))
(exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(literal -1 binary64)))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/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 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)) #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 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 3 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))
(/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64) (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (-.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 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) (+.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 (/.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))
(sqrt.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 kx))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sin.f64 ky))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (sin.f64 kx))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sin.f64 ky))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (sin.f64 kx) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 kx) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 ky) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sin.f64 ky) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)
(*.f64 th (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) th) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))))
(/.f64 (*.f64 th (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
(/.f64 (*.f64 th (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 th))) (sqrt.f64 (neg.f64 (neg.f64 th))) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))
(fma.f64 (sqrt.f64 (neg.f64 th)) (sqrt.f64 (neg.f64 th)) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))
(fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)
(fma.f64 #s(literal 1 binary64) th (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))
(fma.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) (*.f64 th #s(literal 1 binary64)))
(fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)
(+.f64 (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 th th))) (*.f64 th #s(literal 1 binary64)))
(+.f64 (*.f64 th #s(literal 1 binary64)) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))
(+.f64 th (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))
(*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (pow.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))) #s(literal -1 binary64)))
(pow.f64 (/.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))) (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64))) #s(literal -1 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64))) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))) (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 th)) (neg.f64 th) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64))
(fma.f64 (neg.f64 th) (*.f64 (neg.f64 th) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 th th) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 th (*.f64 (*.f64 #s(literal -1/6 binary64) th) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 th (*.f64 #s(literal -1/6 binary64) th) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64))) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 th th)) #s(literal -1/6 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 th) (*.f64 #s(literal -1/6 binary64) th)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 th th)))
(+.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) (pow.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))) #s(literal -1 binary64)))
(+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64)) #s(literal -1 binary64)) #s(literal 2 binary64))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal -1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal -1 binary64)) #s(literal 2 binary64))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1 binary64)) (pow.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1 binary64)) (pow.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 #s(literal -1 binary64) (pow.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) (pow.f64 (sin.f64 kx) #s(literal -1 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal -1/2 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) #s(literal 1 binary64))
(pow.f64 (sin.f64 kx) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(/.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(neg.f64 (/.f64 #s(literal -1 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) (pow.f64 (sin.f64 kx) #s(literal -2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))
(exp.f64 (fma.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64) (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))))
(*.f64 (fabs.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (neg.f64 (sin.f64 kx))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (sin.f64 kx)))
(*.f64 (sqrt.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (sin.f64 kx)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))
(*.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (sin.f64 kx))))
(*.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64))))
(*.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64))))
(*.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal -2 binary64)))
(*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)))
(*.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(*.f64 (sin.f64 kx) (sin.f64 kx))
(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 #s(literal 2 binary64) kx)))) #s(literal -1 binary64))
(pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) #s(literal -1 binary64))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 4 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 6 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 kx) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (pow.f64 (cos.f64 kx) #s(literal 1 binary64)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (pow.f64 (cos.f64 kx) #s(literal 1 binary64)))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 (cos.f64 kx) #s(literal 4 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 kx (PI.f64)) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (+.f64 kx (PI.f64)) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 kx) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (fma.f64 #s(literal -1 binary64) kx (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 kx (PI.f64)) (+.f64 kx (PI.f64)))) (cos.f64 (+.f64 (+.f64 kx (PI.f64)) (+.f64 kx (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 kx (PI.f64)) (neg.f64 kx))) (cos.f64 (+.f64 (+.f64 kx (PI.f64)) (neg.f64 kx)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 kx) (+.f64 kx (PI.f64)))) (cos.f64 (fma.f64 #s(literal -1 binary64) kx (+.f64 kx (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 4 binary64))) (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 6 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 kx) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) #s(literal -2 binary64))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/4 binary64))) (fabs.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64))))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) #s(literal 2 binary64))
(/.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 2 binary64))
(/.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))
(neg.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))
(fma.f64 (cos.f64 (fma.f64 #s(literal 2 binary64) kx (PI.f64))) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) (cos.f64 (fma.f64 #s(literal 2 binary64) kx (PI.f64))) #s(literal 1/2 binary64))
(sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))
(-.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(-.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 kx (PI.f64))))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (cos.f64 (fma.f64 #s(literal 2 binary64) kx (PI.f64)))) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(fabs.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 0 binary64)))
(fabs.f64 (-.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(fabs.f64 (-.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(fabs.f64 (-.f64 (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (*.f64 (neg.f64 (cos.f64 (fma.f64 #s(literal 2 binary64) kx (PI.f64)))) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (/.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))))
(fabs.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(exp.f64 (/.f64 (fma.f64 (log.f64 (sin.f64 kx)) #s(literal 2 binary64) (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(exp.f64 (/.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 (sin.f64 kx))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (cos.f64 kx)) (cos.f64 kx)))
(+.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx)))
(*.f64 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))) #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)))
(*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))))
(*.f64 (sin.f64 ky) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))))
(*.f64 (sin.f64 ky) (*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal -1/2 binary64)) #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))))
(/.f64 (*.f64 #s(literal 1 binary64) #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky)))
(/.f64 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (neg.f64 (sin.f64 ky))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))))
(/.f64 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) #s(literal 1 binary64)) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))))
(/.f64 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal -1/2 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal -1/2 binary64)) (sin.f64 ky))
(*.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))))
(*.f64 (sin.f64 ky) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))))
(/.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))))
(neg.f64 (/.f64 (neg.f64 (sin.f64 ky)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))))
(neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))))))
(exp.f64 (-.f64 (log.f64 (sin.f64 ky)) (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (fabs.f64 (sqrt.f64 (sin.f64 ky))) (fabs.f64 (sqrt.f64 (sin.f64 ky))))
(*.f64 (sqrt.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (sqrt.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(*.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (neg.f64 (sin.f64 ky))) (sqrt.f64 (neg.f64 (sin.f64 ky))))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)) (pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (sin.f64 ky))
(pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 1 binary64))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (sqrt.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 6 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 ky) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal -2 binary64)))
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(sin.f64 (acos.f64 (neg.f64 (cos.f64 ky))))
(sin.f64 (acos.f64 (fabs.f64 (cos.f64 ky))))
(sin.f64 (acos.f64 (cos.f64 ky)))
(sin.f64 ky)
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(fabs.f64 (-.f64 (sin.f64 ky) #s(literal 0 binary64)))
(fabs.f64 (neg.f64 (neg.f64 (sin.f64 ky))))
(fabs.f64 (neg.f64 (sin.f64 ky)))
(fabs.f64 (sin.f64 ky))
(cos.f64 (asin.f64 (neg.f64 (cos.f64 ky))))
(cos.f64 (asin.f64 (fabs.f64 (cos.f64 ky))))
(cos.f64 (asin.f64 (cos.f64 ky)))
(exp.f64 (/.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 2 binary64)))
(exp.f64 (log.f64 (sin.f64 ky)))
(+.f64 (cosh.f64 (log.f64 (sin.f64 ky))) (sinh.f64 (log.f64 (sin.f64 ky))))
(*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(*.f64 kx (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/9 binary64) (pow.f64 kx #s(literal 4 binary64)) #s(literal -1 binary64)) kx) (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/27 binary64) (pow.f64 kx #s(literal 6 binary64)) #s(literal 1 binary64)) kx) (fma.f64 #s(literal 1/9 binary64) (pow.f64 kx #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)))))
(/.f64 (*.f64 kx (fma.f64 #s(literal 1/9 binary64) (pow.f64 kx #s(literal 4 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal -1 binary64)))
(/.f64 (*.f64 kx (fma.f64 #s(literal -1/27 binary64) (pow.f64 kx #s(literal 6 binary64)) #s(literal 1 binary64))) (fma.f64 #s(literal 1/9 binary64) (pow.f64 kx #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)))))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 kx))) (sqrt.f64 (neg.f64 (neg.f64 kx))) (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)) kx))
(fma.f64 (sqrt.f64 (neg.f64 kx)) (sqrt.f64 (neg.f64 kx)) (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)) kx))
(fma.f64 (sqrt.f64 kx) (sqrt.f64 kx) (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)) kx))
(fma.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)) kx kx)
(fma.f64 #s(literal 1 binary64) kx (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)) kx))
(fma.f64 kx (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)) (*.f64 kx #s(literal 1 binary64)))
(fma.f64 kx #s(literal 1 binary64) (*.f64 kx (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx))))
(+.f64 (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)) kx) kx)
(+.f64 (*.f64 kx (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx))) (*.f64 kx #s(literal 1 binary64)))
(+.f64 (*.f64 kx #s(literal 1 binary64)) (*.f64 kx (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx))))
(+.f64 kx (*.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 kx kx)) kx))
(*.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(*.f64 (sin.f64 ky) (*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal -1/2 binary64)) (sin.f64 th)))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (*.f64 (sin.f64 ky) (sin.f64 th))) #s(literal -1 binary64))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(/.f64 (*.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (*.f64 (sin.f64 ky) (sin.f64 th))))
(/.f64 (sin.f64 th) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky)))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal -1/2 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal -1/2 binary64)) (sin.f64 ky))
(*.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(*.f64 (sin.f64 ky) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))))
(/.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))))
(neg.f64 (/.f64 (neg.f64 (sin.f64 ky)) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))))))
(exp.f64 (-.f64 (log.f64 (sin.f64 ky)) (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (fabs.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64))) (fabs.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1 binary64))) (pow.f64 (cos.f64 kx) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1 binary64))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64))) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64))))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64)) #s(literal -1/2 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal -1/2 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1/2 binary64)) (pow.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1/2 binary64)) (pow.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1/2 binary64)) (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal -1/2 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 kx) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 1 binary64)))
(*.f64 (pow.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64)) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (pow.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (pow.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal -1 binary64)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal -1/4 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sin.f64 kx) #s(literal -1 binary64))
(/.f64 (pow.f64 (cos.f64 kx) #s(literal 1 binary64)) (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sin.f64 kx)))
(/.f64 #s(literal 1 binary64) (sin.f64 kx))
(cosh.f64 (atanh.f64 (neg.f64 (cos.f64 kx))))
(cosh.f64 (atanh.f64 (fabs.f64 (cos.f64 kx))))
(cosh.f64 (atanh.f64 (cos.f64 kx)))
(sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))
(fabs.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)))
(exp.f64 (/.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64))))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) ky)
(*.f64 ky (pow.f64 (sin.f64 kx) #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) ky) (sin.f64 kx))
(/.f64 (*.f64 ky #s(literal 1 binary64)) (sin.f64 kx))
(/.f64 ky (sin.f64 kx))
#s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (pow.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))))))
(/.f64 (hypot.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 2 binary64))) (+.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))
(sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx))))
(fabs.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 kx kx)))) #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(*.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (neg.f64 (sin.f64 ky))) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (neg.f64 (sin.f64 ky))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (sin.f64 ky)))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64))))
(*.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 ky))))
(*.f64 (fabs.f64 (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64))) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(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 #s(literal 2 binary64) ky)))) #s(literal -1 binary64))
(pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(/.f64 (fabs.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 4 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (fabs.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 6 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 ky) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 ky) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (neg.f64 ky) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 ky (PI.f64)) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (+.f64 ky (PI.f64)) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 ky) (+.f64 ky (PI.f64)))) (cos.f64 (+.f64 (neg.f64 ky) (+.f64 ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 ky (PI.f64)) (neg.f64 ky))) (cos.f64 (+.f64 (+.f64 ky (PI.f64)) (neg.f64 ky)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 ky (PI.f64)) (+.f64 ky (PI.f64)))) (cos.f64 (+.f64 (+.f64 ky (PI.f64)) (+.f64 ky (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 4 binary64))) (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 6 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 ky) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal -2 binary64))
(/.f64 (fabs.f64 (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
(neg.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (PI.f64))))))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(fabs.f64 (-.f64 (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))))
(fabs.f64 (neg.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(fabs.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky)))
(fabs.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(fabs.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(exp.f64 (/.f64 (fma.f64 (log.f64 (sin.f64 ky)) #s(literal 2 binary64) (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(exp.f64 (/.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 (sin.f64 ky))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (cos.f64 ky)) (cos.f64 ky)))
#s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (pow.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (pow.f64 (pow.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64)))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 3 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64)) (*.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (hypot.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 3/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (sqrt.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (-.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) #s(literal 3 binary64))))))
(sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))
(fabs.f64 (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) #s(literal 1/2 binary64))))

eval190.0ms (1.6%)

Memory
28.3MiB live, 182.1MiB allocated
Compiler

Compiled 37 239 to 4 791 computations (87.1% saved)

prune133.0ms (1.1%)

Memory
-12.7MiB live, 112.1MiB allocated
Pruning

61 alts after pruning (57 fresh and 4 done)

PrunedKeptTotal
New1 022351 057
Fresh32225
Picked415
Done033
Total1 029611 090
Accuracy
100.0%
Counts
1 090 → 61
Alt Table
Click to see full alt table
StatusAccuracyProgram
87.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 1/2 binary64))) (sin.f64 kx)))
95.9%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
79.1%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))) #s(literal 2 binary64)))
79.0%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
34.4%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
31.4%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
54.0%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky))))
79.2%
(/.f64 (sin.f64 th) (/.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)) (sin.f64 ky)))
33.3%
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
32.3%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
30.4%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
50.8%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
44.1%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
79.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
47.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
27.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
39.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
22.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
13.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
25.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
16.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
29.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
33.4%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
79.2%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
38.2%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
30.4%
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
47.9%
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
38.3%
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
23.2%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
16.7%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
24.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
30.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
33.9%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
15.9%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
16.6%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
16.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
12.2%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
26.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
14.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
21.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
21.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
28.5%
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
28.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
16.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
15.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
16.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
15.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
15.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
15.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
9.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
10.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
10.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
38.4%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
33.8%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
Compiler

Compiled 3 541 to 2 618 computations (26.1% saved)

simplify150.0ms (1.3%)

Memory
15.4MiB live, 131.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 ky)
cost-diff0
(*.f64 (sin.f64 ky) th)
cost-diff0
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
cost-diff0
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
cost-diff0
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
cost-diff1
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
cost-diff1
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
cost-diff0
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
cost-diff0
#s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
cost-diff1
(*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th)
cost-diff0
#s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
cost-diff0
(*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)
cost-diff0
#s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
cost-diff0
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
cost-diff0
(sin.f64 th)
cost-diff0
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
cost-diff0
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063372
098362
1176362
2401362
31092350
43659350
56716350
08035344
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 th)
th
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 ky)
ky
(sin.f64 kx)
kx
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th))
(*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)
#s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
(*.f64 th th)
th
#s(literal -1/6 binary64)
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
(*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th)
(fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64))
#s(literal 1/36 binary64)
(pow.f64 th #s(literal 4 binary64))
th
#s(literal 4 binary64)
#s(literal -1 binary64)
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))
#s(literal -1/6 binary64)
(*.f64 th th)
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
#s(literal 1 binary64)
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal -2 binary64) kx))
(*.f64 #s(literal -2 binary64) kx)
#s(literal -2 binary64)
kx
(*.f64 (sin.f64 th) ky)
(sin.f64 th)
th
ky
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) th)
(sin.f64 ky)
ky
th
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
kx
Outputs
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sin.f64 th)
th
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 ky)
ky
(sin.f64 kx)
kx
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th))
(*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)
#s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
(*.f64 th th)
th
#s(literal -1/6 binary64)
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (fma.f64 (pow.f64 th #s(literal 5 binary64)) #s(literal 1/36 binary64) (neg.f64 th)) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)))))
#s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))
#s(approx (sin th) (/.f64 (fma.f64 (pow.f64 th #s(literal 5 binary64)) #s(literal 1/36 binary64) (neg.f64 th)) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 th #s(literal 5 binary64)) #s(literal 1/36 binary64) (neg.f64 th)) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th)
(fma.f64 (pow.f64 th #s(literal 5 binary64)) #s(literal 1/36 binary64) (neg.f64 th))
(fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64))
(fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64))
#s(literal 1/36 binary64)
(pow.f64 th #s(literal 4 binary64))
th
#s(literal 4 binary64)
#s(literal -1 binary64)
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))
#s(literal -1/6 binary64)
(*.f64 th th)
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))
#s(literal 1 binary64)
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal -2 binary64) kx))
(*.f64 #s(literal -2 binary64) kx)
#s(literal -2 binary64)
kx
(*.f64 (sin.f64 th) ky)
(sin.f64 th)
th
ky
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) th)
(sin.f64 ky)
ky
th
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx

localize414.0ms (3.5%)

Memory
-10.0MiB live, 383.7MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.05078125
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
accuracy0.0859375
(*.f64 (sin.f64 ky) th)
accuracy2.671197128689023
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
accuracy33.21841432039841
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
accuracy2.727051211691056
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
accuracy13.086297822592233
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
accuracy13.89369972634475
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
accuracy35.38316513317455
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
accuracy0.0859375
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))
accuracy23.288873013832887
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
accuracy33.39285066774179
#s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))
accuracy45.75008796027506
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
accuracy0.1796875
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
accuracy29.676310237713782
#s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
accuracy33.39285066774179
#s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th))
accuracy45.75008796027506
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
accuracy0.00390625
(sin.f64 th)
accuracy0.05078125
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
accuracy0.27572250976844204
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
accuracy0.296875
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
Samples
134.0ms145×0valid
130.0ms66×2valid
89.0ms33×1valid
19.0ms12×3valid
Compiler

Compiled 677 to 121 computations (82.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 336.0ms
ival-cos: 89.0ms (26.5% of total)
ival-mult: 75.0ms (22.3% of total)
ival-div: 59.0ms (17.5% of total)
adjust: 42.0ms (12.5% of total)
ival-sin: 22.0ms (6.5% of total)
ival-sqrt: 11.0ms (3.3% of total)
ival-add: 9.0ms (2.7% of total)
const: 8.0ms (2.4% of total)
ival-pow2: 6.0ms (1.8% of total)
ival-hypot: 6.0ms (1.8% of total)
ival-sub: 4.0ms (1.2% of total)
ival-pow: 4.0ms (1.2% of total)
exact: 1.0ms (0.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series47.0ms (0.4%)

Memory
4.2MiB live, 84.4MiB allocated
Counts
23 → 104
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 th)
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th))
(*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)
#s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
(*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th)
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) th)
(sin.f64 ky)
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
Outputs
(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 th) (sin ky))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 3))) (/ (sin th) (sin ky)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 3))) (* 1/2 (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))) (/ (sin th) (sin ky)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 3))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (* (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 (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))) (/ (sin th) (sin ky)))
(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))))))
(/ 1 (pow kx 2))
(/ (+ 1 (* 1/3 (pow kx 2))) (pow kx 2))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* 1/15 (pow kx 2))))) (pow kx 2))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* (pow kx 2) (+ 1/15 (* 2/189 (pow kx 2))))))) (pow kx 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))))
(/ (* ky (sin th)) kx)
(/ (+ (* 1/6 (* (pow kx 2) (* ky (sin th)))) (* ky (sin th))) kx)
(/ (+ (* ky (sin th)) (* (pow kx 2) (+ (* 7/360 (* (pow kx 2) (* ky (sin th)))) (* 1/6 (* ky (sin th)))))) kx)
(/ (+ (* ky (sin th)) (* (pow kx 2) (+ (* 1/6 (* ky (sin th))) (* (pow kx 2) (+ (* 31/15120 (* (pow kx 2) (* ky (sin th)))) (* 7/360 (* ky (sin th)))))))) kx)
(/ 1 kx)
(/ (+ 1 (* 1/6 (pow kx 2))) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* 7/360 (pow kx 2))))) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* (pow kx 2) (+ 7/360 (* 31/15120 (pow kx 2))))))) kx)
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin th) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))
(- 1/2 (* 1/2 (cos (* -2 kx))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))
(/ (* 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 th) (sin kx))
(+ (* -1/2 (/ (* (pow ky 2) (sin th)) (pow (sin kx) 3))) (/ (sin th) (sin kx)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (pow ky 2) (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))))))) (/ (sin th) (sin kx)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* (pow ky 2) (+ (* -1/2 (* (pow ky 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/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))) (/ (sin th) (sin kx)))
(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))))))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(* ky (sin th))
(* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))
(* ky th)
(* ky (+ th (* -1/6 (* (pow ky 2) th))))
(* ky (+ th (* (pow ky 2) (+ (* -1/6 th) (* 1/120 (* (pow ky 2) th))))))
(* ky (+ th (* (pow ky 2) (+ (* -1/6 th) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) th)) (* 1/120 th)))))))
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 th))
(* th (sin ky))
(* (* 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))))))))))))
(* th (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* -1/6 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* -1/6 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 1/120 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* -1/6 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))))))
th
(* th (+ 1 (* -1/6 (pow th 2))))
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
1
(+ 1 (* -1/6 (pow th 2)))
(* -1 th)
(* th (- (* 1/36 (pow th 4)) 1))
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
(* (* ky th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(* th (+ (* -1/6 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))))
(* th (+ (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))) (* (pow th 2) (+ (* -1/6 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* 1/120 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))))))))
(* th (+ (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))) (* (pow th 2) (+ (* -1/6 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* 1/120 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))))))))))
(* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))
(* -1/6 (pow th 2))
-1
(- (* -1/6 (pow th 2)) 1)
(* -1/6 (pow th 3))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(* 1/36 (pow th 5))
(* (pow th 5) (- 1/36 (/ 1 (pow th 4))))
(* -1 (* (pow th 2) (+ 1/6 (/ 1 (pow th 2)))))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
(* -1 (* (pow th 5) (- (/ 1 (pow th 4)) 1/36)))
Calls

9 calls:

TimeVariablePointExpression
9.0ms
th
@-inf
((* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* (+ (* 1/36 (pow th 4)) -1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (/ (* (+ (* 1/36 (pow th 4)) -1) th) (+ (* -1/6 (* th th)) -1)) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (* (sin ky) th) (sin ky) (* (* th th) -1/6) (+ (* -1/6 (* th th)) -1) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))))
7.0ms
th
@inf
((* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* (+ (* 1/36 (pow th 4)) -1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (/ (* (+ (* 1/36 (pow th 4)) -1) th) (+ (* -1/6 (* th th)) -1)) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (* (sin ky) th) (sin ky) (* (* th th) -1/6) (+ (* -1/6 (* th th)) -1) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))))
6.0ms
ky
@inf
((* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* (+ (* 1/36 (pow th 4)) -1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (/ (* (+ (* 1/36 (pow th 4)) -1) th) (+ (* -1/6 (* th th)) -1)) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (* (sin ky) th) (sin ky) (* (* th th) -1/6) (+ (* -1/6 (* th th)) -1) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))))
5.0ms
ky
@-inf
((* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* (+ (* 1/36 (pow th 4)) -1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (/ (* (+ (* 1/36 (pow th 4)) -1) th) (+ (* -1/6 (* th th)) -1)) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (* (sin ky) th) (sin ky) (* (* th th) -1/6) (+ (* -1/6 (* th th)) -1) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))))
4.0ms
th
@0
((* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* (+ (* 1/36 (pow th 4)) -1) th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (/ (* (+ (* 1/36 (pow th 4)) -1) th) (+ (* -1/6 (* th th)) -1)) (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (- 1/2 (* (cos (* -2 kx)) 1/2)) (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (* (sin th) (sin ky)) (* (sin ky) th) (sin ky) (* (* th th) -1/6) (+ (* -1/6 (* th th)) -1) (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))))

simplify187.0ms (1.6%)

Memory
24.8MiB live, 253.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05723038
121242745
092692589
Stop Event
iter limit
node limit
Counts
104 → 102
Calls
Call 1
Inputs
(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 th) (sin ky))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 3))) (/ (sin th) (sin ky)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 3))) (* 1/2 (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))) (/ (sin th) (sin ky)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 3))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (* (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 (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))) (/ (sin th) (sin ky)))
(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))))))
(/ 1 (pow kx 2))
(/ (+ 1 (* 1/3 (pow kx 2))) (pow kx 2))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* 1/15 (pow kx 2))))) (pow kx 2))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* (pow kx 2) (+ 1/15 (* 2/189 (pow kx 2))))))) (pow kx 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))))
(/ (* ky (sin th)) kx)
(/ (+ (* 1/6 (* (pow kx 2) (* ky (sin th)))) (* ky (sin th))) kx)
(/ (+ (* ky (sin th)) (* (pow kx 2) (+ (* 7/360 (* (pow kx 2) (* ky (sin th)))) (* 1/6 (* ky (sin th)))))) kx)
(/ (+ (* ky (sin th)) (* (pow kx 2) (+ (* 1/6 (* ky (sin th))) (* (pow kx 2) (+ (* 31/15120 (* (pow kx 2) (* ky (sin th)))) (* 7/360 (* ky (sin th)))))))) kx)
(/ 1 kx)
(/ (+ 1 (* 1/6 (pow kx 2))) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* 7/360 (pow kx 2))))) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* (pow kx 2) (+ 7/360 (* 31/15120 (pow kx 2))))))) kx)
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (sin th) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))
(- 1/2 (* 1/2 (cos (* -2 kx))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))
(/ (* 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 th) (sin kx))
(+ (* -1/2 (/ (* (pow ky 2) (sin th)) (pow (sin kx) 3))) (/ (sin th) (sin kx)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (pow ky 2) (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))))))) (/ (sin th) (sin kx)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* (pow ky 2) (+ (* -1/2 (* (pow ky 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/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))) (/ (sin th) (sin kx)))
(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))))))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(* ky (sin th))
(* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))
(* ky th)
(* ky (+ th (* -1/6 (* (pow ky 2) th))))
(* ky (+ th (* (pow ky 2) (+ (* -1/6 th) (* 1/120 (* (pow ky 2) th))))))
(* ky (+ th (* (pow ky 2) (+ (* -1/6 th) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) th)) (* 1/120 th)))))))
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 th))
(* th (sin ky))
(* (* 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))))))))))))
(* th (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* -1/6 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* -1/6 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 1/120 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* -1/6 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))))))
th
(* th (+ 1 (* -1/6 (pow th 2))))
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
1
(+ 1 (* -1/6 (pow th 2)))
(* -1 th)
(* th (- (* 1/36 (pow th 4)) 1))
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
(* (* ky th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(* th (+ (* -1/6 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))))
(* th (+ (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))) (* (pow th 2) (+ (* -1/6 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* 1/120 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))))))))
(* th (+ (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))) (* (pow th 2) (+ (* -1/6 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* 1/120 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))))))))))
(* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))
(* -1/6 (pow th 2))
-1
(- (* -1/6 (pow th 2)) 1)
(* -1/6 (pow th 3))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(* 1/36 (pow th 5))
(* (pow th 5) (- 1/36 (/ 1 (pow th 4))))
(* -1 (* (pow th 2) (+ 1/6 (/ 1 (pow th 2)))))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
(* -1 (* (pow th 5) (- (/ 1 (pow th 4)) 1/36)))
Outputs
(sin th)
(sin.f64 th)
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))
(fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (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 #s(literal -1/2 binary64) (-.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)))) (*.f64 kx kx) (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 (fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx)) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 kx kx) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) (sin.f64 th))
(/ (sin th) (sin ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 3))) (/ (sin th) (sin ky)))
(fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (/.f64 (sin.f64 th) (sin.f64 ky)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 3))) (* 1/2 (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))) (/ (sin th) (sin ky)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sin.f64 th)) (sin.f64 ky)) (*.f64 kx kx)))) (*.f64 kx kx) (/.f64 (sin.f64 th) (sin.f64 ky)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 3))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (* (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 (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))) (/ (sin th) (sin ky)))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sin.f64 th)) (sin.f64 ky)) (*.f64 kx kx)) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (sin.f64 th)) (sin.f64 ky)))) (*.f64 kx kx) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (*.f64 kx kx) (/.f64 (sin.f64 th) (sin.f64 ky)))
(sin ky)
(sin.f64 ky)
(+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))
(fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (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 (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)) (sin.f64 ky)) (*.f64 kx kx) (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 (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (sin.f64 ky)) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky))
(/ 1 (pow kx 2))
(/.f64 #s(literal 1 binary64) (*.f64 kx kx))
(/ (+ 1 (* 1/3 (pow kx 2))) (pow kx 2))
(/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* 1/15 (pow kx 2))))) (pow kx 2))
(/.f64 (fma.f64 (fma.f64 #s(literal 1/15 binary64) (*.f64 kx kx) #s(literal 1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))
(/ (+ 1 (* (pow kx 2) (+ 1/3 (* (pow kx 2) (+ 1/15 (* 2/189 (pow kx 2))))))) (pow kx 2))
(/.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 2/189 binary64) (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 kx kx) #s(literal 1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))
(pow kx 2)
(*.f64 kx kx)
(* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))
(*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))
(*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)
(/ (* ky (sin th)) kx)
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(/ (+ (* 1/6 (* (pow kx 2) (* ky (sin th)))) (* ky (sin th))) kx)
(/.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 (sin.f64 th) ky)) kx)
(/ (+ (* ky (sin th)) (* (pow kx 2) (+ (* 7/360 (* (pow kx 2) (* ky (sin th)))) (* 1/6 (* ky (sin th)))))) kx)
(/.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 th) ky) (fma.f64 #s(literal 7/360 binary64) (*.f64 kx kx) #s(literal 1/6 binary64))) (*.f64 kx kx) (*.f64 (sin.f64 th) ky)) kx)
(/ (+ (* ky (sin th)) (* (pow kx 2) (+ (* 1/6 (* ky (sin th))) (* (pow kx 2) (+ (* 31/15120 (* (pow kx 2) (* ky (sin th)))) (* 7/360 (* ky (sin th)))))))) kx)
(/.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) (sin.f64 th)) ky (*.f64 (*.f64 (*.f64 (sin.f64 th) ky) (fma.f64 #s(literal 31/15120 binary64) (*.f64 kx kx) #s(literal 7/360 binary64))) (*.f64 kx kx))) (*.f64 kx kx) (*.f64 (sin.f64 th) ky)) kx)
(/ 1 kx)
(/.f64 #s(literal 1 binary64) kx)
(/ (+ 1 (* 1/6 (pow kx 2))) kx)
(/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* 7/360 (pow kx 2))))) kx)
(/.f64 (fma.f64 (fma.f64 #s(literal 7/360 binary64) (*.f64 kx kx) #s(literal 1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(/ (+ 1 (* (pow kx 2) (+ 1/6 (* (pow kx 2) (+ 7/360 (* 31/15120 (pow kx 2))))))) kx)
(/.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 31/15120 binary64) (*.f64 kx kx) #s(literal 7/360 binary64)) (*.f64 kx kx) #s(literal 1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(* (sin th) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(- 1/2 (* 1/2 (cos (* -2 kx))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
(sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
(/ (* ky (sin th)) (sin kx))
(/.f64 (*.f64 (sin.f64 th) ky) (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 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(* 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 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/12 binary64) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sin.f64 th)) (/.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(* 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 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))))) (sin.f64 th) (fma.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))) (sin.f64 th) (fma.f64 #s(literal -1/5040 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sin.f64 th)) (/.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky)
(/ (sin th) (sin kx))
(/.f64 (sin.f64 th) (sin.f64 kx))
(+ (* -1/2 (/ (* (pow ky 2) (sin th)) (pow (sin kx) 3))) (/ (sin th) (sin kx)))
(fma.f64 (*.f64 (*.f64 ky ky) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 (sin.f64 th) (sin.f64 kx)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (pow ky 2) (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))))))) (/ (sin th) (sin kx)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sin.f64 th)) (sin.f64 kx)) (*.f64 ky ky)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* (pow ky 2) (+ (* -1/2 (* (pow ky 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/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))) (/ (sin th) (sin kx)))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 8 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))) (sin.f64 th)) (sin.f64 kx)) (*.f64 ky ky)) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(sin kx)
(sin.f64 kx)
(+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))
(fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 kx)) #s(literal 1/2 binary64) (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 (fma.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)) (sin.f64 kx)) (*.f64 ky ky) (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 (fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (-.f64 #s(literal 2/45 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal -1/6 binary64))) (sin.f64 kx)) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx))
(* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th) (fma.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) #s(literal 1/2 binary64)))) (*.f64 ky ky) (*.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th) (fma.f64 (*.f64 #s(literal 1/12 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))))) (sin.f64 th) (fma.f64 (fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (fma.f64 (/.f64 (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 4 binary64))) (/.f64 #s(literal 2/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (/.f64 #s(literal 2/45 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))) (fma.f64 (*.f64 #s(literal -1/5040 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th) (*.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))))))) (*.f64 ky ky) (*.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))) (sin.f64 th)) (+.f64 (/.f64 #s(literal 3/4 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))) #s(literal 1/2 binary64))))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/6 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal 3 binary64))))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky)
(* ky (sin th))
(*.f64 (sin.f64 th) ky)
(* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))
(*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)) ky)
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal 1/120 binary64) (*.f64 ky ky) #s(literal -1/6 binary64))) (*.f64 ky ky) (sin.f64 th)) ky)
(* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64))) (*.f64 ky ky) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))) (*.f64 ky ky) (sin.f64 th)) ky)
(* ky th)
(*.f64 ky th)
(* ky (+ th (* -1/6 (* (pow ky 2) th))))
(*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)
(* ky (+ th (* (pow ky 2) (+ (* -1/6 th) (* 1/120 (* (pow ky 2) th))))))
(*.f64 (fma.f64 (*.f64 th (fma.f64 #s(literal 1/120 binary64) (*.f64 ky ky) #s(literal -1/6 binary64))) (*.f64 ky ky) th) ky)
(* ky (+ th (* (pow ky 2) (+ (* -1/6 th) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) th)) (* 1/120 th)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 th (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64))) (*.f64 ky ky) (*.f64 #s(literal -1/6 binary64) th)) (*.f64 ky ky) th) ky)
ky
(* ky (+ 1 (* -1/6 (pow ky 2))))
(*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)
(* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)
(* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64)) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)
(* (sin ky) (sin th))
(*.f64 (sin.f64 th) (sin.f64 ky))
(* th (sin ky))
(*.f64 (sin.f64 ky) th)
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(* 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 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky))) th)
(* 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))))))))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)))) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #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 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky)) (*.f64 (*.f64 (*.f64 th th) (*.f64 th th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)))))) th)
(* th (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) th)
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* -1/6 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))
(*.f64 (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) th)
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* -1/6 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 1/120 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (*.f64 th th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) th)
(* th (+ (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* -1/6 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 (*.f64 (*.f64 th th) (*.f64 th th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))))) th)
th
(* th (+ 1 (* -1/6 (pow th 2))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th)
(* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) th)
(* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) th)
1
#s(literal 1 binary64)
(+ 1 (* -1/6 (pow th 2)))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(* -1 th)
(neg.f64 th)
(* th (- (* 1/36 (pow th 4)) 1))
(*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th)
(* (* th (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))
(*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky))) th)
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)))) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
(* th (+ (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx)))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- (+ 1/2 (pow (sin ky) 2)) (* 1/2 (cos (* 2 kx))))))))))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky)) (*.f64 (*.f64 (*.f64 th th) (*.f64 th th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)))))) th)
(* (* ky th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))
(*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))
(* th (+ (* -1/6 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)
(* th (+ (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))) (* (pow th 2) (+ (* -1/6 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* 1/120 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))))))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 (*.f64 th th) #s(literal 1/120 binary64)) ky (*.f64 #s(literal -1/6 binary64) ky))) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
(* th (+ (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))) (* (pow th 2) (+ (* -1/6 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* (pow th 2) (+ (* -1/5040 (* (* ky (pow th 2)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx)))))))) (* 1/120 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* -2 kx))))))))))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky) (*.f64 (*.f64 (*.f64 th th) (*.f64 th th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 #s(literal 1/120 binary64) ky (*.f64 (*.f64 (*.f64 th th) #s(literal -1/5040 binary64)) ky))))) th)
(* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))
(*.f64 (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 ky)) th)
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (sin.f64 ky) th))
(* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) (fma.f64 (*.f64 (sin.f64 ky) (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))) (*.f64 th th) (*.f64 #s(literal -1/6 binary64) (sin.f64 ky))) (*.f64 (sin.f64 ky) th))
(* -1/6 (pow th 2))
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
-1
#s(literal -1 binary64)
(- (* -1/6 (pow th 2)) 1)
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))
(* -1/6 (pow th 3))
(*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th)
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(* 1/36 (pow th 5))
(*.f64 (pow.f64 th #s(literal 5 binary64)) #s(literal 1/36 binary64))
(* (pow th 5) (- 1/36 (/ 1 (pow th 4))))
(*.f64 (-.f64 #s(literal 1/36 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 th #s(literal 4 binary64)))) (pow.f64 th #s(literal 5 binary64)))
(* -1 (* (pow th 2) (+ 1/6 (/ 1 (pow th 2)))))
(neg.f64 (fma.f64 (*.f64 th th) #s(literal 1/6 binary64) #s(literal 1 binary64)))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
(*.f64 (neg.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 th th)))) (pow.f64 th #s(literal 3 binary64)))
(* -1 (* (pow th 5) (- (/ 1 (pow th 4)) 1/36)))
(*.f64 (neg.f64 (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 th #s(literal 4 binary64))) #s(literal 1/36 binary64))) (pow.f64 th #s(literal 5 binary64)))

rewrite210.0ms (1.7%)

Memory
4.0MiB live, 206.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063308
098289
1371241
22638236
08299229
Stop Event
iter limit
node limit
iter limit
Counts
23 → 514
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 th)
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th))
(*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)
#s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
(*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th)
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) th)
(sin.f64 ky)
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))
Outputs
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 th)) (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 th))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 ky th))) (*.f64 #s(literal 2 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (sin.f64 th) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 th))
(*.f64 (neg.f64 (sin.f64 th)) (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 th) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) #s(literal -1 binary64))
(/.f64 (*.f64 (sin.f64 th) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (neg.f64 (sin.f64 th))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (neg.f64 (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(neg.f64 (/.f64 (neg.f64 (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(neg.f64 (/.f64 (sin.f64 th) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))) #s(literal -1 binary64)))
(sin.f64 th)
(*.f64 (neg.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/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 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)) #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 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (pow.f64 (pow.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64)))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 3 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))))
(/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64) (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 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 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (-.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 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) (+.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 (/.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))
(sqrt.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (sin.f64 kx))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (sin.f64 ky))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 kx))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (sin.f64 ky))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)) (sin.f64 kx))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (sin.f64 ky))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (sin.f64 kx) (neg.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky)))))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(hypot.f64 (sin.f64 kx) (pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 kx) (neg.f64 (neg.f64 (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(hypot.f64 (sin.f64 ky) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(hypot.f64 (sin.f64 ky) (neg.f64 (neg.f64 (sin.f64 kx))))
(hypot.f64 (sin.f64 ky) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th))
(*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)
(*.f64 th #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))
#s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
(*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th)
(*.f64 th (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 th (fma.f64 (pow.f64 th #s(literal 8 binary64)) #s(literal 1/1296 binary64) #s(literal -1 binary64))) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal 1 binary64)))
(/.f64 (*.f64 th (fma.f64 (pow.f64 th #s(literal 12 binary64)) #s(literal 1/46656 binary64) #s(literal -1 binary64))) (fma.f64 (pow.f64 th #s(literal 8 binary64)) #s(literal 1/1296 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal -1/36 binary64)))))
(/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 8 binary64)) #s(literal 1/1296 binary64) #s(literal -1 binary64)) th) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 12 binary64)) #s(literal 1/46656 binary64) #s(literal -1 binary64)) th) (fma.f64 (pow.f64 th #s(literal 8 binary64)) #s(literal 1/1296 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal -1/36 binary64)))))
(fma.f64 (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64)) th (neg.f64 th))
(fma.f64 #s(literal -1 binary64) th (*.f64 (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64)) th))
(fma.f64 th (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64)) (*.f64 th #s(literal -1 binary64)))
(fma.f64 th #s(literal -1 binary64) (*.f64 th (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64))))
(+.f64 (*.f64 (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64)) th) (neg.f64 th))
(+.f64 (*.f64 th (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64))) (*.f64 th #s(literal -1 binary64)))
(+.f64 (*.f64 th #s(literal -1 binary64)) (*.f64 th (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64))))
(+.f64 (neg.f64 th) (*.f64 (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64)) th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))))
#s(approx (sin th) (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(*.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64))) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(*.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th) (fma.f64 (pow.f64 th #s(literal 6 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64))) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(*.f64 (/.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) (/.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))
(*.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) (neg.f64 th)) (pow.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th) (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(pow.f64 (/.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 8 binary64)) #s(literal 1/1296 binary64) #s(literal -1 binary64)) (/.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)))) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 12 binary64)) #s(literal 1/46656 binary64) #s(literal -1 binary64)) (/.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)))) (fma.f64 (pow.f64 th #s(literal 8 binary64)) #s(literal 1/1296 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal -1/36 binary64)))))
(/.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th) #s(literal 1 binary64)) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 (neg.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) (neg.f64 th))) (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))))
(/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 8 binary64)) #s(literal 1/1296 binary64) #s(literal -1 binary64)) th) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 12 binary64)) #s(literal 1/46656 binary64) #s(literal -1 binary64)) th) (*.f64 (fma.f64 (pow.f64 th #s(literal 8 binary64)) #s(literal 1/1296 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal -1/36 binary64)))) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) (neg.f64 th)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))
(/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))
(neg.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) (neg.f64 th)) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))))
(neg.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))
(*.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64))) (neg.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64))))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64)) #s(literal -1 binary64)) #s(literal 2 binary64))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal -1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal -1 binary64)) #s(literal 2 binary64))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1 binary64)) (pow.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1 binary64)) (pow.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) (pow.f64 (sin.f64 kx) #s(literal -1 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (pow.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal -1/2 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) #s(literal 1 binary64))
(pow.f64 (sin.f64 kx) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))
(/.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(neg.f64 (/.f64 #s(literal -1 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) (pow.f64 (sin.f64 kx) #s(literal -2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))
(exp.f64 (fma.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64) (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))))
(*.f64 (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 kx)))))
(*.f64 (fabs.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (neg.f64 (sin.f64 kx))) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (neg.f64 (sin.f64 kx))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (sqrt.f64 (sin.f64 kx)))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (sin.f64 kx)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))
(*.f64 (neg.f64 (neg.f64 (sin.f64 kx))) (neg.f64 (neg.f64 (sin.f64 kx))))
(*.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64))))
(*.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64))))
(*.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal -2 binary64)))
(*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)))
(*.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)))
(*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(*.f64 (sin.f64 kx) (sin.f64 kx))
(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 #s(literal 2 binary64) kx)))) #s(literal -1 binary64))
(pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) #s(literal -1 binary64))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 4 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 6 binary64)))) (fabs.f64 (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 kx) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (fabs.f64 (cos.f64 kx)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (fabs.f64 (cos.f64 kx)))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (sqrt.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 kx) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (neg.f64 kx) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 kx (PI.f64)) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (+.f64 (+.f64 kx (PI.f64)) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 kx) (+.f64 kx (PI.f64)))) (cos.f64 (+.f64 (neg.f64 kx) (+.f64 kx (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 kx (PI.f64)) (neg.f64 kx))) (cos.f64 (+.f64 (+.f64 kx (PI.f64)) (neg.f64 kx)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 kx (PI.f64)) (+.f64 kx (PI.f64)))) (cos.f64 (+.f64 (+.f64 kx (PI.f64)) (+.f64 kx (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (cos.f64 (-.f64 (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64))) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 4 binary64))) (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 6 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 kx) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) #s(literal -2 binary64))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/4 binary64))) (fabs.f64 (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64))))
(/.f64 (fabs.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) #s(literal 1/8 binary64))) (fabs.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) #s(literal 2 binary64))
(/.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (*.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 2 binary64))
(/.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))
(neg.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))
(fma.f64 (cos.f64 (fma.f64 #s(literal -2 binary64) kx (PI.f64))) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) (cos.f64 (fma.f64 #s(literal -2 binary64) kx (PI.f64))) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))
(-.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
(-.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 kx (PI.f64))))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (cos.f64 (fma.f64 #s(literal -2 binary64) kx (PI.f64)))) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))
(fabs.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal 0 binary64)))
(fabs.f64 (-.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))) (/.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)))))
(fabs.f64 (-.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(fabs.f64 (-.f64 (/.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (*.f64 (neg.f64 (cos.f64 (fma.f64 #s(literal -2 binary64) kx (PI.f64)))) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 (/.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))))
(fabs.f64 (-.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(fabs.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))
(exp.f64 (/.f64 (fma.f64 (log.f64 (sin.f64 kx)) #s(literal 2 binary64) (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(exp.f64 (/.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 (sin.f64 kx))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 kx (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal 1 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (cos.f64 kx)) (cos.f64 kx)))
(+.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 (cos.f64 kx) #s(literal 2 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) ky) (sin.f64 th))
(*.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) (sin.f64 th)) ky)
(*.f64 (*.f64 (sin.f64 th) ky) (pow.f64 (sin.f64 kx) #s(literal -1 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (*.f64 ky (pow.f64 (sin.f64 kx) #s(literal -1 binary64))))
(*.f64 ky (*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) (sin.f64 th)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 th) ky)) (sin.f64 kx))
(/.f64 (*.f64 (*.f64 (sin.f64 th) ky) #s(literal 1 binary64)) (sin.f64 kx))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)))
(*.f64 (neg.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))) (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))) #s(literal -1 binary64))
(/.f64 (*.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (neg.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (neg.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(neg.f64 (/.f64 (neg.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(neg.f64 (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)))) #s(literal -1 binary64)))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) th)
(*.f64 th (sin.f64 ky))
(*.f64 (neg.f64 (sqrt.f64 (sin.f64 ky))) (neg.f64 (sqrt.f64 (sin.f64 ky))))
(*.f64 (fabs.f64 (sqrt.f64 (sin.f64 ky))) (fabs.f64 (sqrt.f64 (sin.f64 ky))))
(*.f64 (sqrt.f64 (neg.f64 (neg.f64 (sin.f64 ky)))) (sqrt.f64 (neg.f64 (neg.f64 (sin.f64 ky)))))
(*.f64 (sqrt.f64 (neg.f64 (sin.f64 ky))) (sqrt.f64 (neg.f64 (sin.f64 ky))))
(*.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)) (pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (sin.f64 ky))
(pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 1 binary64))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (fabs.f64 (cos.f64 ky)))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 4 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (sqrt.f64 (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 6 binary64)))) (sqrt.f64 (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cos.f64 ky) #s(literal 4 binary64)) (*.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sqrt.f64 #s(literal -2 binary64)))
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(sin.f64 (acos.f64 (neg.f64 (cos.f64 ky))))
(sin.f64 (acos.f64 (fabs.f64 (cos.f64 ky))))
(sin.f64 (acos.f64 (cos.f64 ky)))
(sin.f64 ky)
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(fabs.f64 (-.f64 (sin.f64 ky) #s(literal 0 binary64)))
(fabs.f64 (neg.f64 (neg.f64 (sin.f64 ky))))
(fabs.f64 (neg.f64 (sin.f64 ky)))
(fabs.f64 (sin.f64 ky))
(cos.f64 (asin.f64 (neg.f64 (cos.f64 ky))))
(cos.f64 (asin.f64 (fabs.f64 (cos.f64 ky))))
(cos.f64 (asin.f64 (cos.f64 ky)))
(exp.f64 (/.f64 (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 2 binary64)))
(exp.f64 (log.f64 (sin.f64 ky)))
(+.f64 (cosh.f64 (log.f64 (sin.f64 ky))) (sinh.f64 (log.f64 (sin.f64 ky))))
(*.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 th)) (neg.f64 th))
(*.f64 (*.f64 #s(literal -1/6 binary64) th) (*.f64 th #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/6 binary64) th) th)
(*.f64 (neg.f64 th) (*.f64 (neg.f64 th) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
(*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 th th) #s(literal 1 binary64)))
(*.f64 #s(literal -1/6 binary64) (*.f64 th th))
(*.f64 th (*.f64 (*.f64 #s(literal -1/6 binary64) th) #s(literal 1 binary64)))
(*.f64 th (*.f64 #s(literal -1/6 binary64) th))
(*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 th #s(literal 6 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64)) (pow.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))
(pow.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64))
(pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 th #s(literal 6 binary64)) #s(literal -1/216 binary64)) #s(literal 1 binary64)) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 th #s(literal 6 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64))) (neg.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64))) (neg.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(/.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(/.f64 (fma.f64 (pow.f64 th #s(literal 6 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64)) (*.f64 #s(literal 1/6 binary64) (*.f64 th th)))))
(/.f64 (fma.f64 (pow.f64 th #s(literal 6 binary64)) #s(literal -1/216 binary64) #s(literal -1 binary64)) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 th)) (neg.f64 th) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) th) (*.f64 th #s(literal 1 binary64)) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal -1 binary64))
(fma.f64 (neg.f64 th) (*.f64 (neg.f64 th) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 th th) #s(literal 1 binary64)) #s(literal -1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))
(fma.f64 th (*.f64 (*.f64 #s(literal -1/6 binary64) th) #s(literal 1 binary64)) #s(literal -1 binary64))
(fma.f64 th (*.f64 #s(literal -1/6 binary64) th) #s(literal -1 binary64))
(-.f64 (/.f64 (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64)) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) th)) th))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 th th)) #s(literal -1/6 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 th) (*.f64 #s(literal -1/6 binary64) th)))
(-.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 th th)))
(-.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 (/.f64 (*.f64 (pow.f64 th #s(literal 6 binary64)) #s(literal -1/216 binary64)) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
(+.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(*.f64 (neg.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64))) (neg.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64))) (fabs.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1 binary64))) (fabs.f64 (cos.f64 kx)))
(*.f64 (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1 binary64))) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64))) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64))))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1 binary64)) #s(literal -1/2 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal -1/2 binary64)) (pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1/2 binary64)) (pow.f64 (pow.f64 (cos.f64 kx) #s(literal -2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1/2 binary64)) (pow.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1/2 binary64)) (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) #s(literal -1/2 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 kx) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)) (fabs.f64 (cos.f64 kx)))
(*.f64 (pow.f64 (pow.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64)) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (pow.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (pow.f64 (neg.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 kx) #s(literal -1 binary64)))
(pow.f64 (*.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal -1/4 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sin.f64 kx) #s(literal -1 binary64))
(/.f64 (fabs.f64 (cos.f64 kx)) (sqrt.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 kx) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (sqrt.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sin.f64 kx)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sin.f64 kx)))
(/.f64 #s(literal 1 binary64) (sin.f64 kx))
(cosh.f64 (atanh.f64 (neg.f64 (cos.f64 kx))))
(cosh.f64 (atanh.f64 (fabs.f64 (cos.f64 kx))))
(cosh.f64 (atanh.f64 (cos.f64 kx)))
(sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64)))
(fabs.f64 (pow.f64 (sin.f64 kx) #s(literal -1 binary64)))
(exp.f64 (/.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 kx) #s(literal -2 binary64))) #s(literal 1/2 binary64))))

eval167.0ms (1.4%)

Memory
-21.0MiB live, 252.1MiB allocated
Compiler

Compiled 27 237 to 3 331 computations (87.8% saved)

prune88.0ms (0.7%)

Memory
7.5MiB live, 206.2MiB allocated
Pruning

76 alts after pruning (69 fresh and 7 done)

PrunedKeptTotal
New85525880
Fresh84452
Picked235
Done044
Total86576941
Accuracy
100.0%
Counts
941 → 76
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.9%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
79.1%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))) #s(literal 2 binary64)))
79.0%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
34.4%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
54.0%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky))))
33.3%
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
32.3%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
30.4%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
99.6%
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
50.8%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
38.5%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
38.4%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
22.3%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
22.4%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
16.4%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
24.5%
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
44.1%
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
54.0%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
79.2%
(*.f64 (/.f64 (sin.f64 th) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64))) (sin.f64 ky))
28.5%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
33.4%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
79.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
47.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
27.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
39.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
22.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
25.9%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
16.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
29.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
33.4%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
79.2%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
38.2%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
30.4%
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
38.3%
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
23.2%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
16.7%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
24.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
30.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
33.9%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
16.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
12.2%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
26.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
14.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
21.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
21.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
28.5%
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
28.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
16.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
15.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
17.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
16.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
15.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
15.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
15.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
9.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
10.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
10.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
16.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
14.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
10.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
25.0%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
38.4%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
33.8%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
11.2%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
13.5%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
19.0%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
18.6%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
18.5%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
Compiler

Compiled 5 416 to 2 233 computations (58.8% saved)

regimes339.0ms (2.8%)

Memory
0.2MiB live, 476.0MiB allocated
Counts
108 → 1
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))) (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (sin.f64 th) (/.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (neg.f64 (sin.f64 ky)) (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) (sqrt.f64 #s(literal 1/2 binary64))) (sin.f64 kx)))
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (/.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal -1 binary64))))
(*.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))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 kx) #s(literal 2 binary64))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
Calls

9 calls:

55.0ms
(sin.f64 ky)
49.0ms
(sin.f64 th)
42.0ms
(*.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))
33.0ms
(sin.f64 kx)
32.0ms
th
Results
AccuracySegmentsBranch
99.7%1kx
99.7%1ky
99.7%1th
99.7%1(*.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))
99.7%1(/.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)))))
99.7%1(sin.f64 ky)
99.7%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
99.7%1(sin.f64 kx)
99.7%1(sin.f64 th)
Compiler

Compiled 42 to 51 computations (-21.4% saved)

regimes274.0ms (2.3%)

Memory
29.5MiB live, 343.0MiB allocated
Counts
91 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))) (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal -2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (sin.f64 th) (/.f64 (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)) (sin.f64 ky)))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
Calls

9 calls:

51.0ms
kx
31.0ms
(*.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))
29.0ms
ky
28.0ms
(sin.f64 th)
27.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
94.3%2kx
99.4%2ky
88.5%2th
83.1%2(*.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))
99.5%5(/.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)))))
99.4%3(sin.f64 ky)
94.3%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
94.3%3(sin.f64 kx)
88.5%3(sin.f64 th)
Compiler

Compiled 42 to 51 computations (-21.4% saved)

regimes559.0ms (4.7%)

Memory
-199.5MiB live, 384.8MiB allocated
Counts
85 → 6
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))) (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))))))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
Calls

9 calls:

292.0ms
(sin.f64 th)
50.0ms
kx
49.0ms
(/.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)))))
31.0ms
ky
30.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
68.6%5(*.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))
75.8%4(sin.f64 th)
74.2%2th
75.4%3(sin.f64 kx)
75.4%2kx
75.4%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
85.4%6(/.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)))))
79.1%3(sin.f64 ky)
77.2%2ky
Compiler

Compiled 42 to 51 computations (-21.4% saved)

regimes28.0ms (0.2%)

Memory
14.1MiB live, 51.9MiB allocated
Counts
83 → 6
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(approx (pow (sin kx) 2) (*.f64 kx kx))))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))) (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
Calls

1 calls:

23.0ms
(/.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)))))
Results
AccuracySegmentsBranch
85.3%6(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes31.0ms (0.3%)

Memory
-25.8MiB live, 56.0MiB allocated
Counts
77 → 6
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
Calls

1 calls:

23.0ms
(/.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)))))
Results
AccuracySegmentsBranch
85.3%6(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes26.0ms (0.2%)

Memory
13.0MiB live, 50.7MiB allocated
Counts
76 → 6
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
Calls

1 calls:

22.0ms
(/.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)))))
Results
AccuracySegmentsBranch
85.1%6(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes26.0ms (0.2%)

Memory
11.9MiB live, 49.6MiB allocated
Counts
75 → 6
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
Calls

1 calls:

22.0ms
(/.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)))))
Results
AccuracySegmentsBranch
85.1%6(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes26.0ms (0.2%)

Memory
11.5MiB live, 49.0MiB allocated
Counts
74 → 6
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
Calls

1 calls:

21.0ms
(/.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)))))
Results
AccuracySegmentsBranch
85.1%6(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes77.0ms (0.6%)

Memory
-1.0MiB live, 150.2MiB allocated
Counts
73 → 6
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

3 calls:

25.0ms
ky
25.0ms
(/.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)))))
22.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
73.2%2ky
75.2%3(sin.f64 ky)
82.5%6(/.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)))))
Compiler

Compiled 16 to 18 computations (-12.5% saved)

regimes173.0ms (1.4%)

Memory
13.8MiB live, 256.3MiB allocated
Counts
70 → 5
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

8 calls:

23.0ms
kx
23.0ms
(sin.f64 th)
21.0ms
ky
21.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
21.0ms
(/.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)))))
Results
AccuracySegmentsBranch
64.0%3(sin.f64 th)
62.5%4ky
63.2%4(sin.f64 ky)
70.5%4(sin.f64 kx)
66.4%4th
70.5%3kx
70.2%3(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
76.2%5(/.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)))))
Compiler

Compiled 26 to 38 computations (-46.2% saved)

regimes24.0ms (0.2%)

Memory
-1.4MiB live, 35.6MiB allocated
Counts
69 → 5
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (+.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (exp.f64 (*.f64 (log.f64 (sin.f64 kx)) #s(literal -1 binary64))) ky)) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

1 calls:

19.0ms
(/.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)))))
Results
AccuracySegmentsBranch
76.2%5(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes32.0ms (0.3%)

Memory
-4.1MiB live, 34.2MiB allocated
Counts
66 → 4
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

1 calls:

28.0ms
(/.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)))))
Results
AccuracySegmentsBranch
72.7%4(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes84.0ms (0.7%)

Memory
-14.6MiB live, 109.7MiB allocated
Counts
63 → 4
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

4 calls:

23.0ms
(/.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)))))
20.0ms
(sin.f64 kx)
20.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
18.0ms
kx
Results
AccuracySegmentsBranch
61.4%3(sin.f64 kx)
60.7%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
60.7%2kx
67.1%4(/.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)))))
Compiler

Compiled 20 to 24 computations (-20% saved)

regimes79.0ms (0.7%)

Memory
-16.8MiB live, 106.6MiB allocated
Counts
62 → 4
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) (+.f64 ky (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (pow.f64 (neg.f64 (sin.f64 kx)) #s(literal -1 binary64)) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(/.f64 #s(approx (* (sin th) (sin ky)) #s(approx (* (sin ky) th) (*.f64 ky th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64))) #s(literal -1 binary64)))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky))))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

4 calls:

20.0ms
th
18.0ms
(/.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)))))
18.0ms
(sin.f64 th)
17.0ms
(*.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))
Results
AccuracySegmentsBranch
46.9%5(sin.f64 th)
44.7%4th
49.3%4(*.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))
64.8%4(/.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)))))
Compiler

Compiled 32 to 31 computations (3.1% saved)

regimes110.0ms (0.9%)

Memory
25.5MiB live, 101.6MiB allocated
Counts
47 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 th #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
Outputs
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

6 calls:

32.0ms
(sin.f64 kx)
22.0ms
kx
14.0ms
(sin.f64 ky)
13.0ms
ky
13.0ms
(/.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)))))
Results
AccuracySegmentsBranch
53.4%3ky
57.3%3(sin.f64 kx)
53.3%3(sin.f64 ky)
56.7%2kx
56.7%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
60.7%3(/.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)))))
Compiler

Compiled 23 to 31 computations (-34.8% saved)

regimes15.0ms (0.1%)

Memory
12.2MiB live, 12.2MiB allocated
Counts
43 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

1 calls:

12.0ms
(/.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)))))
Results
AccuracySegmentsBranch
60.7%3(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes143.0ms (1.2%)

Memory
-10.7MiB live, 102.5MiB allocated
Counts
42 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 kx)) ky)) (sin.f64 th))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (pow.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) th))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th))
Outputs
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

6 calls:

66.0ms
(/.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)))))
21.0ms
kx
17.0ms
(sin.f64 ky)
12.0ms
ky
12.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
48.1%2(sin.f64 ky)
48.1%2ky
49.3%3(sin.f64 kx)
43.2%2kx
43.2%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
53.2%3(/.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)))))
Compiler

Compiled 23 to 31 computations (-34.8% saved)

regimes12.0ms (0.1%)

Memory
18.8MiB live, 18.8MiB allocated
Counts
33 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (sin th) (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

1 calls:

10.0ms
(/.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)))))
Results
AccuracySegmentsBranch
52.3%3(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes97.0ms (0.8%)

Memory
-35.9MiB live, 49.6MiB allocated
Counts
31 → 5
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2))) (/.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))) ky)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal -1/6 binary64) ky) (*.f64 th th) ky)) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)))) ky)) (sin.f64 th))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

5 calls:

49.0ms
(*.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))
18.0ms
(/.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)))))
9.0ms
(sin.f64 kx)
9.0ms
(sin.f64 ky)
9.0ms
ky
Results
AccuracySegmentsBranch
42.6%5(*.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))
41.8%3(sin.f64 kx)
41.3%2(sin.f64 ky)
41.4%2ky
49.3%5(/.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)))))
Compiler

Compiled 34 to 35 computations (-2.9% saved)

regimes31.0ms (0.3%)

Memory
25.1MiB live, 25.1MiB allocated
Counts
24 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
Outputs
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

4 calls:

7.0ms
kx
7.0ms
(sin.f64 th)
7.0ms
(/.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)))))
7.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
Results
AccuracySegmentsBranch
32.0%3(sin.f64 th)
35.2%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
35.1%2kx
43.2%3(/.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)))))
Compiler

Compiled 20 to 24 computations (-20% saved)

regimes9.0ms (0.1%)

Memory
7.3MiB live, 7.3MiB allocated
Counts
23 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) ky)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 th #s(literal 4 binary64)) #s(literal -1 binary64)) th) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
Outputs
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))
Calls

1 calls:

7.0ms
(/.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)))))
Results
AccuracySegmentsBranch
43.2%3(/.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)))))
Compiler

Compiled 13 to 11 computations (15.4% saved)

regimes46.0ms (0.4%)

Memory
-2.4MiB live, 36.2MiB allocated
Counts
15 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Calls

5 calls:

24.0ms
(/.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)))))
5.0ms
ky
5.0ms
(sin.f64 kx)
5.0ms
(sin.f64 ky)
5.0ms
th
Results
AccuracySegmentsBranch
32.3%2(sin.f64 kx)
39.3%2(sin.f64 ky)
39.4%2ky
28.5%1th
40.0%2(/.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)))))
Compiler

Compiled 19 to 25 computations (-31.6% saved)

regimes53.0ms (0.4%)

Memory
-25.9MiB live, 48.4MiB allocated
Counts
14 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Calls

6 calls:

20.0ms
(/.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)))))
13.0ms
kx
5.0ms
(*.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))
5.0ms
(sin.f64 ky)
5.0ms
ky
Results
AccuracySegmentsBranch
31.4%2kx
31.6%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
34.8%3(*.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))
32.0%2(sin.f64 ky)
31.7%2ky
34.5%2(/.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)))))
Compiler

Compiled 37 to 40 computations (-8.1% saved)

regimes58.0ms (0.5%)

Memory
10.2MiB live, 55.8MiB allocated
Counts
12 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th))))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64)))))
Calls

9 calls:

23.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
4.0ms
(*.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))
4.0ms
(/.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)))))
4.0ms
(sin.f64 th)
4.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
17.2%1th
17.2%1(sin.f64 th)
21.1%2kx
21.1%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
21.7%2ky
21.7%2(sin.f64 ky)
20.1%2(sin.f64 kx)
23.8%2(*.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))
22.9%2(/.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)))))
Compiler

Compiled 42 to 51 computations (-21.4% saved)

regimes4.0ms (0%)

Memory
6.2MiB live, 6.2MiB allocated
Counts
7 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) th) th #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th) th)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
Calls

1 calls:

3.0ms
(*.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))
Results
AccuracySegmentsBranch
23.6%2(*.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 16 to 13 computations (18.8% saved)

regimes19.0ms (0.2%)

Memory
-13.7MiB live, 25.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
Calls

9 calls:

8.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
1.0ms
(*.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))
1.0ms
(/.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)))))
1.0ms
ky
1.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
16.5%1(sin.f64 th)
16.5%1th
16.5%1(sin.f64 kx)
16.5%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
16.5%1kx
16.5%1(sin.f64 ky)
16.5%1ky
16.5%1(/.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)))))
16.5%1(*.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 42 to 51 computations (-21.4% saved)

bsearch56.0ms (0.5%)

Memory
-2.1MiB live, 35.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
53.0ms
2.8674612854476258e-8
1.373708841783291
Samples
47.0ms144×0valid
Compiler

Compiled 415 to 351 computations (15.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
ival-pow2: 31.0ms (72.4% of total)
ival-sin: 8.0ms (18.7% of total)
ival-div: 1.0ms (2.3% of total)
ival-add: 1.0ms (2.3% of total)
ival-mult: 1.0ms (2.3% of total)
ival-sqrt: 1.0ms (2.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch2.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9985198735034015
0.9999656775921268
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-0.10671626379936189
4.7872971398528707e-296
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9973280152723617
0.9985198735034015
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-0.10671626379936189
4.7872971398528707e-296
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9973280152723617
0.9985198735034015
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-0.10671626379936189
4.7872971398528707e-296
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9973280152723617
0.9985198735034015
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-0.10671626379936189
4.7872971398528707e-296
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9973280152723617
0.9985198735034015
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-0.10671626379936189
4.7872971398528707e-296
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
2.2MiB live, 2.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9985198735034015
0.9999656775921268
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-0.10671626379936189
4.7872971398528707e-296
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9985198735034015
0.9999656775921268
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-0.10671626379936189
4.7872971398528707e-296
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9985198735034015
0.9999656775921268
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.9985198735034015
0.9999656775921268
0.0ms
0.15064364240614184
0.20971144845792528
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.686283000369966
0.7161906788886009
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.686283000369966
0.7161906788886009
0.0ms
-1.0
-0.9996328649462939
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
6.615892997328412e-10
0.000270475088657188
0.0ms
-0.10671626379936189
4.7872971398528707e-296
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
6.615892997328412e-10
0.000270475088657188
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
6.615892997328412e-10
0.000270475088657188
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.000270475088657188
0.021180428088453673
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
5.980864303694864e-13
6.149180550009149e-13
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
3.7793907724213975e-10
6.615892997328412e-10
0.0ms
1.7037802290326893e-87
1.2881197646156918e-86
0.0ms
1.6942454485335584e-155
2.7164937273164256e-151
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.000270475088657188
0.021180428088453673
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
+inf
0.0ms
0.000270475088657188
0.021180428088453673
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.624551492251204e-40
1.040737442749798e-35
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch27.0ms (0.2%)

Memory
-22.5MiB live, 15.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
26.0ms
2.9817653004650166e-53
6.9086869051833945e-53
Samples
23.0ms80×0valid
Compiler

Compiled 289 to 229 computations (20.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-sin: 2.0ms (79.5% of total)
ival-mult: 1.0ms (39.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.8211945273735836e-308
1.0241676663609626e-306
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.8211945273735836e-308
1.0241676663609626e-306
Compiler

Compiled 19 to 19 computations (0% saved)

simplify82.0ms (0.7%)

Memory
19.1MiB live, 60.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02863718
13833718
26203718
313983718
446913718
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(if (<=.f64 ky #s(literal 3112888062438487/1152921504606846976 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th)) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th)) (if (<=.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))))) #s(literal 4494592428115755/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 4494592428115755/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 4494592428115755/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 4494592428115755/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 3152519739159347/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 3152519739159347/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))
(if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))
(if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 1152921504606847/2305843009213693952 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 5942112188569825/9903520314283042199192993792 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 4830671903771573/241533595188578646543459493183249209018682958106652187416077203215719946393097526533512110411370161122653976001968886073585317416315186728483931792091692546793561300926464 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (if (<=.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))))) #s(literal 8958978968711217/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))))
(if (<=.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))))) #s(literal 1152921504606847/2305843009213693952 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 1152921504606847/2305843009213693952 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 6129982163463555/12259964326927110866866776217202473468949912977468817408 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)))
(if (<=.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))))) #s(literal 1010998000018149/26959946667150639794667015087019630673637144422540572481103610249216 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)))
(if (<=.f64 (*.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)) #s(literal 1012011266536553/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))))
(if (<=.f64 (*.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)) #s(literal 1012011266536553/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(if (<=.f64 ky #s(literal 3112888062438487/1152921504606846976 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th)) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (- 1/2 (* (cos (* 2 kx)) 1/2)) (*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) #s(approx (pow (sin ky) 2) (*.f64 ky ky))))) (sin.f64 th)) (if (<=.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))))) #s(literal 4494592428115755/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 4494592428115755/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 4494592428115755/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 4494592428115755/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th)))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 3602879701896397/18014398509481984 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 8998192055486251/9007199254740992 binary64)) (/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) #s(literal 2 binary64))) (if (<=.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))))) #s(literal 2 binary64)) (/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 3152519739159347/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))
(if (<=.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))))) #s(literal -1 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 3152519739159347/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))
(if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))
(if (<=.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))))) #s(literal -3602879701896397/36028797018963968 binary64)) (*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) #s(literal -1 binary64))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)))))
(if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) #s(literal -1 binary64))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (*.f64 (sin.f64 th) ky))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 4835703278458517/4835703278458516698824704 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) #s(literal -1 binary64))) (*.f64 (sin.f64 th) ky))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 1152921504606847/2305843009213693952 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 5942112188569825/9903520314283042199192993792 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 5942112188569825/9903520314283042199192993792 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 4830671903771573/241533595188578646543459493183249209018682958106652187416077203215719946393097526533512110411370161122653976001968886073585317416315186728483931792091692546793561300926464 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (if (<=.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))))) #s(literal 8958978968711217/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (/.f64 #s(literal 1 binary64) kx)) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64)))))))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))))
(if (<=.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))))) #s(literal 4830671903771573/241533595188578646543459493183249209018682958106652187416077203215719946393097526533512110411370161122653976001968886073585317416315186728483931792091692546793561300926464 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal -1 binary64)))))) (if (<=.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))))) #s(literal 8958978968711217/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (pow.f64 kx #s(literal -1 binary64))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 4835703278458517/9671406556917033397649408 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (*.f64 (*.f64 ky th) (sqrt.f64 (pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal -2 binary64) kx)) #s(literal 1/2 binary64))) #s(literal -1 binary64)))))) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))))
(if (<=.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))))) #s(literal 1152921504606847/2305843009213693952 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 1152921504606847/2305843009213693952 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (pow.f64 #s(approx (- 1/2 (* (cos (* -2 kx)) 1/2)) (*.f64 kx kx)) #s(literal -1 binary64))) ky)) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (<=.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))))) #s(literal 1152921504606847/2305843009213693952 binary64)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)) (if (<=.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))))) #s(literal 2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th))))
(if (or (<=.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))))) #s(literal 1152921504606847/2305843009213693952 binary64)) (not (<=.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))))) #s(literal 2 binary64)))) (*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) ky) (/.f64 ky kx))) (sin.f64 th)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)))
(if (<=.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))))) #s(literal 6129982163463555/12259964326927110866866776217202473468949912977468817408 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* (cos (* 2 kx)) 1/2)) (pow (sin ky) 2)))) (sin th)) #s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (* -2 kx)) 1/2)))) (* (sin th) ky)) (/.f64 (*.f64 (sin.f64 th) ky) kx))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)))
(if (<=.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))))) #s(literal 1010998000018149/26959946667150639794667015087019630673637144422540572481103610249216 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th)))
(if (<=.f64 (*.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)) #s(literal 1012011266536553/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (/.f64 #s(approx (* (+ (* 1/36 (pow th 4)) -1) th) (neg.f64 th)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))))))
(if (<=.f64 (*.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)) #s(literal 1012011266536553/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) th) th)) th))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) #s(literal 1 binary64)) th)))

soundness2.2s (18.7%)

Memory
38.2MiB live, 1 868.2MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060371
099332
1380294
22779288
08211288
05203068
119662863
087022714
03171402
111541335
254781309
083491224
06153503
122743299
089233111
01349
02249
16349
238249
3392249
0858134
05723038
121242745
092692589
063308
098289
1371241
22638236
08299229
038185
064149
1254149
21799149
09781149
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 7 654 to 2 977 computations (61.1% saved)

preprocess222.0ms (1.9%)

Memory
14.7MiB live, 335.0MiB allocated
Remove

(negabs ky)

(negabs th)

(abs kx)

Compiler

Compiled 7 558 to 664 computations (91.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...