Toniolo and Linder, Equation (3b), real

Time bar (total: 11.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze188.0ms (1.6%)

Memory
-20.0MiB live, 340.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
43.8%43.7%56.2%0.1%0%0%0%6
43.8%43.7%56.2%0.1%0%0%0%7
53.1%53%46.8%0.1%0%0%0%8
60.9%60.8%39%0.1%0%0%0%9
60.9%60.8%39%0.1%0%0%0%10
64.8%64.7%35.1%0.1%0%0%0%11
68.4%68.3%31.6%0.1%0%0%0%12
Compiler

Compiled 18 to 14 computations (22.2% saved)

sample1.6s (14.1%)

Memory
70.8MiB live, 1 890.3MiB allocated
Samples
1.3s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 992.0ms
ival-sin: 618.0ms (62.3% of total)
ival-pow2: 150.0ms (15.1% of total)
ival-sqrt: 65.0ms (6.6% of total)
ival-div: 56.0ms (5.6% of total)
ival-mult: 53.0ms (5.3% of total)
ival-add: 39.0ms (3.9% of total)
ival-true: 7.0ms (0.7% of total)
ival-assert: 4.0ms (0.4% of total)
Bogosity

explain292.0ms (2.5%)

Memory
-50.1MiB live, 176.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
150-2(1.6123248050070914e-158 -2.140424709825568e-264 -2.9219464755304866e-113)(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-rescue130
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))underflow67
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))underflow48
(+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))underflow13
Confusion
Predicted +Predicted -
+132
-0241
Precision
1.0
Recall
0.8666666666666667
Confusion?
Predicted +Predicted MaybePredicted -
+1302
-00241
Precision?
1.0
Recall?
0.8666666666666667
Freqs
test
numberfreq
0243
113
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
154.0ms512×0valid
Compiler

Compiled 218 to 56 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 121.0ms
ival-sin: 67.0ms (55.5% of total)
ival-pow2: 41.0ms (34% of total)
ival-div: 3.0ms (2.5% of total)
ival-mult: 3.0ms (2.5% of total)
ival-sqrt: 3.0ms (2.5% of total)
ival-add: 2.0ms (1.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess93.0ms (0.8%)

Memory
9.3MiB live, 47.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045153
1101147
2211147
3383147
4845147
51976147
62541147
72802147
82914147
92966147
102981147
112981147
01316
02216
12816
23216
33316
03311
Stop Event
iter limit
saturated
iter limit
saturated
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.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.5MiB live, 0.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)

simplify3.0ms (0%)

Memory
1.7MiB live, 1.7MiB 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-diff7424
(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
12866
23266
33366
03351
Stop Event
iter limit
saturated
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

localize79.0ms (0.7%)

Memory
24.5MiB live, 62.1MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.16796875
(/.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.2506637695368841
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
accuracy0.29591752930532605
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
accuracy3.384731532291253
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
Samples
70.0ms256×0valid
Compiler

Compiled 134 to 28 computations (79.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 60.0ms
ival-sin: 49.0ms (81.4% of total)
ival-pow2: 5.0ms (8.3% of total)
ival-mult: 2.0ms (3.3% of total)
ival-sqrt: 2.0ms (3.3% of total)
ival-div: 1.0ms (1.7% of total)
ival-add: 1.0ms (1.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series45.0ms (0.4%)

Memory
6.4MiB live, 44.3MiB 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 ky) #s(literal 2 binary64))
(pow.f64 (sin.f64 kx) #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
18.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 ky) 2) (pow (sin kx) 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 ky) 2) (pow (sin kx) 2))
5.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 ky) 2) (pow (sin kx) 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 ky) 2) (pow (sin kx) 2))
3.0ms
ky
@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 ky) 2) (pow (sin kx) 2))

simplify231.0ms (2%)

Memory
-26.6MiB live, 126.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03171402
110111353
238651261
378121261
081151188
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 (fma.f64 (+.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (*.f64 kx (/.f64 kx (sin.f64 ky))) (/.f64 #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)) (fma.f64 (*.f64 (-.f64 #s(literal 2/45 binary64) (/.f64 (+.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx (/.f64 kx (sin.f64 ky)))) #s(literal 1/2 binary64) (/.f64 (+.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 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 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (*.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 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.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 (pow.f64 kx #s(literal 4 binary64)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (fma.f64 #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)))) (sin.f64 th)) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.f64 (+.f64 (+.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)))) (/.f64 (+.f64 (/.f64 #s(literal -3/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal -1/6 binary64) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))))) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (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 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))
(+ 1 (* (pow kx 2) (- (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))
(fma.f64 (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 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (+.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)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (+.f64 (+.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)))) (/.f64 (+.f64 (/.f64 #s(literal -3/8 binary64) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (/.f64 #s(literal -1/6 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))
(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 (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))
(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 (fma.f64 (+.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (*.f64 ky (/.f64 ky (sin.f64 kx))) (/.f64 #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)) (fma.f64 (*.f64 (-.f64 #s(literal 2/45 binary64) (/.f64 (+.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) (*.f64 ky (/.f64 ky (sin.f64 kx)))) #s(literal 1/2 binary64) (/.f64 (+.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 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))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (*.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))))))))))))) (/ (sin th) (sin kx))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/120 binary64)) (*.f64 (*.f64 (sin.f64 kx) #s(literal 1/2 binary64)) (*.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 ky ky) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))) (*.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))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 kx) (sin.f64 th)) (fma.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)))) #s(literal -1/12 binary64) (*.f64 (+.f64 (+.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 (/.f64 #s(literal -3/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal -1/6 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 (sin.f64 th) (sin.f64 kx)) (+.f64 #s(literal -1/5040 binary64) (/.f64 #s(literal -1/240 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))) (*.f64 ky ky) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/120 binary64)) (*.f64 (*.f64 (sin.f64 kx) #s(literal 1/2 binary64)) (*.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 ky ky) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 #s(literal -1/6 binary64) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 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))))
(fma.f64 (neg.f64 (pow.f64 ky #s(literal 3 binary64))) (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))) (/.f64 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)) (fma.f64 (+.f64 (fma.f64 (*.f64 (sin.f64 kx) #s(literal 1/2 binary64)) (+.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 (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)) (fma.f64 (fma.f64 (fma.f64 (sin.f64 kx) (fma.f64 #s(literal -1/12 binary64) (+.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/2 binary64) (+.f64 (+.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 (/.f64 #s(literal -3/8 binary64) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (/.f64 #s(literal -1/6 binary64) (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))) (-.f64 (/.f64 #s(literal -1/5040 binary64) (sin.f64 kx)) (/.f64 #s(literal 1/240 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.f64 ky ky) (+.f64 (fma.f64 (*.f64 (sin.f64 kx) #s(literal 1/2 binary64)) (+.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 (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))))) th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) (sin.f64 ky)))
(* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))
(*.f64 (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 th th)) (*.f64 (sin.f64 ky) (fma.f64 #s(literal 1/120 binary64) (*.f64 th th) #s(literal -1/6 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))))) (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 (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))))) (*.f64 (sin.f64 ky) (fma.f64 #s(literal -1/5040 binary64) (*.f64 th th) #s(literal 1/120 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 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) (sin.f64 ky)))) th)

rewrite200.0ms (1.7%)

Memory
19.4MiB live, 171.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01349
02249
16249
234449
3297849
0826034
Stop Event
iter limit
node limit
iter limit
Counts
6 → 299
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 ky) #s(literal 2 binary64))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
Outputs
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))) (sqrt.f64 (+.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 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))))))
(*.f64 (sqrt.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (+.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 12 binary64))))) (sqrt.f64 (fma.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (sin.f64 kx) #s(literal 8 binary64)))))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (+.f64 (sin.f64 ky) (sin.f64 kx)))) (sqrt.f64 (+.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) #s(literal 1/4 binary64)) #s(literal 2 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/4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (+.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 (pow.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) #s(literal 2 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (+.f64 (pow.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 12 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (pow.f64 (sin.f64 kx) #s(literal 8 binary64)))))
(*.f64 (pow.f64 (/.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (+.f64 (sin.f64 ky) (sin.f64 kx))) #s(literal 1/2 binary64)) (sqrt.f64 (+.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))) #s(literal 1/2 binary64)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.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 (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 (pow.f64 (neg.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 (neg.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))))) (pow.f64 (pow.f64 (neg.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 (neg.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))))) (sqrt.f64 (pow.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)))) #s(literal -1 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))))) (pow.f64 (pow.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)))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.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/2 binary64)) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))))
(*.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/2 binary64)) (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 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)))) (pow.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 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)))) (sqrt.f64 (/.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (-.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 (+.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)))) (sqrt.f64 (*.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (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 (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)))) (pow.f64 (/.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (-.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/2 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)))) (pow.f64 (*.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) (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 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 3 binary64)) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) (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/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)) (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 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(*.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (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 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (pow.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 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (pow.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (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 (sin.f64 ky) (sin.f64 kx)) #s(literal 1 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #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 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) #s(literal -1 binary64))
(pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #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/2 binary64))
(/.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (+.f64 (sin.f64 ky) (sin.f64 kx)))) (sqrt.f64 (-.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (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)))) (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) (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)))) (sqrt.f64 (+.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 4 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) (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)))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 18 binary64)) (pow.f64 (sin.f64 kx) #s(literal 18 binary64))) (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)))) (sqrt.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 6 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) #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 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.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 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 3 binary64)))) (sqrt.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.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 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.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 (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 (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 (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 (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 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (+.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 4 binary64))) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (-.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 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 18 binary64)) (pow.f64 (sin.f64 kx) #s(literal 18 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 6 binary64))) (-.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 (*.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 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 2 binary64))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 (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 ky #s(literal 2 binary64))))))) #s(literal 2 binary64))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.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 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 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64)))) (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (+.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64)))) (sqrt.f64 (*.f64 (-.f64 (+.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 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))))))
(/.f64 (hypot.f64 (pow.f64 (sin.f64 kx) #s(literal 9 binary64)) (pow.f64 (sin.f64 ky) #s(literal 9 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 ky) (sin.f64 kx)) #s(literal 2 binary64))) (-.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 12 binary64)) (pow.f64 (sin.f64 ky) #s(literal 12 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 6 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64)))) (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 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 (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 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 #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 (-.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 #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 (-.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 (-.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 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1 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))))
(hypot.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 1/4 binary64)) #s(literal 4 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 1/4 binary64)) #s(literal 4 binary64)))
(hypot.f64 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 1/4 binary64)) #s(literal 4 binary64)) (sin.f64 ky))
(hypot.f64 (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 1/4 binary64)) #s(literal 4 binary64)) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 1/4 binary64)) #s(literal 4 binary64)))
(hypot.f64 (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 1/4 binary64)) #s(literal 4 binary64)) (sin.f64 kx))
(hypot.f64 (sin.f64 ky) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 1/4 binary64)) #s(literal 4 binary64)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 1/4 binary64)) #s(literal 4 binary64)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(exp.f64 (neg.f64 (neg.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))
(exp.f64 (neg.f64 (*.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(literal -1 binary64))))
(exp.f64 (neg.f64 (*.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))))
(exp.f64 (fma.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 1/4 binary64) (*.f64 (log.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64)))) #s(literal 1/4 binary64))))
(exp.f64 (*.f64 (*.f64 (log.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)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.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)))
(exp.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 th ky)))) #s(literal -1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (/.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)) (sin.f64 th)) #s(literal -1 binary64)) (pow.f64 (/.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)) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.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)) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (/.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)) (sin.f64 th)) #s(literal -1 binary64)))
(*.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 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1/2 binary64)) (pow.f64 (/.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 (sin.f64 th) (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)) (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 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 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) (sin.f64 th)) #s(literal 1 binary64)) #s(literal -1 binary64))
(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 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64)))
(/.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)))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) (sin.f64 th))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.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)) (sqrt.f64 (sin.f64 ky))) #s(literal -1 binary64)) (pow.f64 (/.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)) (sqrt.f64 (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.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))) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1/2 binary64)) (pow.f64 (*.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 (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/2 binary64)) (pow.f64 (/.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)) (sin.f64 ky)) #s(literal -1 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))) (pow.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.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 (/.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #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 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.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))) #s(literal 2 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1 binary64))
(pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #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 (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 (neg.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (neg.f64 (log.f64 (sin.f64 ky)))))
(exp.f64 (-.f64 (*.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(literal -1 binary64)) (neg.f64 (log.f64 (sin.f64 ky)))))
(exp.f64 (-.f64 (*.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)) (neg.f64 (log.f64 (sin.f64 ky)))))
(exp.f64 (neg.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))))
(exp.f64 (+.f64 (neg.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (log.f64 (sin.f64 ky))))
(exp.f64 (fma.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(literal -1 binary64) (log.f64 (sin.f64 ky))))
(exp.f64 (fma.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) (log.f64 (sin.f64 ky))))
(exp.f64 (+.f64 (log.f64 (sin.f64 ky)) (neg.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))
(exp.f64 (+.f64 (log.f64 (sin.f64 ky)) (*.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(literal -1 binary64))))
(exp.f64 (+.f64 (log.f64 (sin.f64 ky)) (*.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))))
(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 (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #s(literal 1/2 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (sin.f64 ky)))
(*.f64 #s(literal -1 binary64) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)))
(*.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 (exp.f64 #s(literal 1 binary64)) (log.f64 (sin.f64 ky)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sqrt.f64 (sin.f64 ky))))
(pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #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 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(neg.f64 (neg.f64 (sin.f64 ky)))
(sin.f64 ky)
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(-.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 ky)))
(exp.f64 (neg.f64 (neg.f64 (log.f64 (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (sqrt.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/2 binary64)))
(exp.f64 (*.f64 (neg.f64 (log.f64 (sin.f64 ky))) #s(literal -1 binary64)))
(exp.f64 (log.f64 (sin.f64 ky)))
(*.f64 (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) #s(literal 1 binary64)) (sqrt.f64 (sin.f64 ky)))
(*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 1/4 binary64)) #s(literal 4 binary64)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 1/4 binary64)) #s(literal 4 binary64)))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) (sqrt.f64 (sin.f64 ky)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (sin.f64 ky) #s(literal 3/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 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(pow.f64 (exp.f64 #s(literal 1 binary64)) (log.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (log.f64 (sin.f64 ky)))
(pow.f64 (/.f64 #s(literal 2 binary64) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64))))) #s(literal -1 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sin.f64 ky)))
(pow.f64 (sqrt.f64 (sin.f64 ky)) #s(literal 4 binary64))
(pow.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) #s(literal 1/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 (exp.f64 (log1p.f64 (neg.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64)))))) (exp.f64 (log.f64 #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 ky #s(literal 2 binary64))) #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 #s(literal 1/8 binary64) (pow.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 3 binary64)))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 ky #s(literal 2 binary64))) #s(literal 1/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))))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64))))) #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) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(-.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)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 ky))) #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 2 binary64))) (log.f64 (sin.f64 ky))))
(exp.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 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 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 1/4 binary64)) #s(literal 4 binary64)) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 1/4 binary64)) #s(literal 4 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 (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 3/2 binary64)) #s(literal 1 binary64)) (sqrt.f64 (sin.f64 kx)))
(*.f64 (pow.f64 (sin.f64 kx) #s(literal 3/2 binary64)) (sqrt.f64 (sin.f64 kx)))
(*.f64 (sqrt.f64 (sin.f64 kx)) (pow.f64 (pow.f64 (sin.f64 kx) #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sin.f64 kx)) (pow.f64 (sin.f64 kx) #s(literal 3/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 1 binary64)) (log.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1 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 (exp.f64 #s(literal 2 binary64)) (log.f64 (sin.f64 kx)))
(pow.f64 (sqrt.f64 (sin.f64 kx)) #s(literal 4 binary64))
(pow.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) #s(literal 1/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 (exp.f64 (log1p.f64 (neg.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) (exp.f64 (log.f64 #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/4 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64)) #s(literal 2 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 (-.f64 #s(literal 1/8 binary64) (*.f64 #s(literal 1/8 binary64) (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 3 binary64)))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.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))))))
(/.f64 (neg.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) (pow.f64 (cos.f64 kx) #s(literal 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)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 kx))) #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 2 binary64))) (log.f64 (sin.f64 kx))))
(exp.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) kx))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) kx)) #s(literal 1/2 binary64))))

eval167.0ms (1.5%)

Memory
-9.9MiB live, 111.7MiB allocated
Compiler

Compiled 9 472 to 1 772 computations (81.3% saved)

prune35.0ms (0.3%)

Memory
9.7MiB live, 47.7MiB allocated
Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New35119370
Fresh000
Picked101
Done000
Total35219371
Accuracy
100.0%
Counts
371 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
99.7%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
69.6%
(*.f64 (pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (sin.f64 th))
95.2%
(*.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
79.4%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 th))
81.9%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (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)))) (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (sin.f64 th))
38.8%
(*.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))
54.1%
(*.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))
29.5%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
99.6%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) (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))
69.3%
(*.f64 (*.f64 (sqrt.f64 (sin.f64 ky)) (/.f64 (sqrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (sin.f64 th))
25.1%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
25.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
93.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (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))) (sin.f64 th))
25.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
45.5%
#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)))))))
30.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Compiler

Compiled 792 to 600 computations (24.2% saved)

simplify74.0ms (0.6%)

Memory
-13.6MiB live, 36.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 ky)
cost-diff0
(*.f64 (sin.f64 ky) th)
cost-diff0
(*.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))))))
cost-diff0
#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)))))))
cost-diff0
(sin.f64 ky)
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
(sin.f64 th)
cost-diff0
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
cost-diff6400
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 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
(/.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
036266
059251
185251
2126251
3231251
4387251
5494251
6509251
7629251
8755251
91095251
101190251
111198251
121213251
131222251
141254251
151269251
161273251
171274251
01274249
Stop Event
iter limit
saturated
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)) (sin.f64 th))
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
(sin.f64 th)
th
#s(literal -1/2 binary64)
(*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
kx
(/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin.f64 ky)
ky
#s(literal 2 binary64)
(*.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)) (*.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) 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 (sin.f64 ky) th)
(sin.f64 ky)
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 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
#s(literal 1 binary64)
(fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(sin.f64 kx)
kx
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(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)) (sin.f64 th))
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (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 (fma.f64 (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) kx #s(literal 1 binary64)) (sin.f64 th)))
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))
(*.f64 (fma.f64 (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) kx #s(literal 1 binary64)) (sin.f64 th))
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (sin.f64 th))
(sin.f64 th)
th
#s(literal -1/2 binary64)
(*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx)
kx
(/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin.f64 ky)
ky
#s(literal 2 binary64)
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (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)) (*.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)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin 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) 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 (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) th))
(*.f64 (sin.f64 ky) th)
(sin.f64 ky)
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 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
#s(literal 1 binary64)
(fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(sin.f64 kx)
kx
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
#s(literal 2 binary64)

localize135.0ms (1.2%)

Memory
41.9MiB live, 153.2MiB allocated
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.29591752930532605
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
accuracy2.893212359407662
(*.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))))))
accuracy3.6348541549050744
(sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
accuracy31.319888231968083
#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)))))))
accuracy0.0078125
(sin.f64 ky)
accuracy0.078125
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
accuracy0.24609375
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
accuracy0.3359375
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
accuracy1.5203169586858192
(*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
accuracy3.817210673492571
(/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
accuracy4.830986651037531
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))
accuracy46.59103330069831
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
accuracy0.0
(sin.f64 th)
accuracy44.24692519517099
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
accuracy0.0078125
(sin.f64 ky)
accuracy0.078125
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
accuracy0.139003759768442
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
accuracy0.15625
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
Samples
91.0ms256×0valid
Compiler

Compiled 544 to 70 computations (87.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 72.0ms
ival-sin: 29.0ms (40.4% of total)
ival-pow2: 12.0ms (16.7% of total)
ival-mult: 11.0ms (15.3% of total)
ival-div: 8.0ms (11.1% of total)
ival-hypot: 4.0ms (5.6% of total)
ival-add: 3.0ms (4.2% of total)
ival-sqrt: 3.0ms (4.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series96.0ms (0.8%)

Memory
-26.6MiB live, 96.4MiB allocated
Counts
18 → 103
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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (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)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 ky)
#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) 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 (sin.f64 ky) th)
(/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 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) (+ 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))))))
(/ (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)))
th
(+ th (* -1/2 (/ (* (pow kx 2) th) (pow (sin ky) 2))))
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* th (* (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 (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))
(/ kx (pow (sin ky) 2))
(/ (pow kx 2) (pow (sin ky) 2))
(/ 1 (sin ky))
(+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))
(+ (* (pow kx 2) (- (* 1/2 (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(+ (* (pow kx 2) (- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (+ (* -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) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(* (* (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/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(* (sin th) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/ (* ky (sin th)) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* (sin kx) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8)))))))) (+ (* -1/12 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ (sin th) (pow (sin kx) 3))) (* -1/5040 (/ (sin th) (sin kx)))))))))))))) (/ (sin th) (sin kx))))
(/ (sin 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))))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/ (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)))
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))))
(/ (* ky th) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (* -1/6 (/ th (sin kx))))) (/ th (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ th (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (+ (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* th (* (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 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ th (pow (sin kx) 3))) (* -1/5040 (/ th (sin kx)))))))))))))) (/ th (sin kx))))
(* 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)))))))
(/ kx (pow ky 2))
(/ (+ kx (* 1/3 (* kx (pow ky 2)))) (pow ky 2))
(/ (+ kx (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/ (+ kx (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 kx) (+ (* 2/135 kx) (* 1/3 (+ (* -1/9 kx) (* 2/45 kx))))))) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/ (pow kx 2) (pow ky 2))
(/ (+ (* 1/3 (* (pow kx 2) (pow ky 2))) (pow kx 2)) (pow ky 2))
(/ (+ (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2))))) (* -1/3 (pow kx 2)))) (pow kx 2)) (pow ky 2))
(/ (+ (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 (pow kx 2)) (+ (* 2/135 (pow kx 2)) (* 1/3 (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2)))))))) (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2))))) (* -1/3 (pow kx 2)))) (pow kx 2)) (pow ky 2))
(/ 1 (sin kx))
(+ (* -1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))
(+ (* (pow ky 2) (- (* 1/2 (* (pow ky 2) (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin kx)))
(+ (* (pow ky 2) (- (* (pow ky 2) (+ (* -1/2 (* (pow ky 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/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin 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))))
(* th (sin ky))
(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 (+ 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 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(* -1/2 th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/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)))))))))))
(* -1/2 (sin th))
Calls

9 calls:

TimeVariablePointExpression
31.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 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (sin th) -1/2) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (* (sin ky) th) (/ kx (pow (sin ky) 2)) (* kx (/ kx (pow (sin ky) 2))) (* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (pow (sin ky) 2))
13.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)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (sin th) -1/2) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (* (sin ky) th) (/ kx (pow (sin ky) 2)) (* kx (/ kx (pow (sin ky) 2))) (* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (pow (sin ky) 2))
11.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 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (sin th) -1/2) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (* (sin ky) th) (/ kx (pow (sin ky) 2)) (* kx (/ kx (pow (sin ky) 2))) (* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (pow (sin ky) 2))
6.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)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (sin th) -1/2) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (* (sin ky) th) (/ kx (pow (sin ky) 2)) (* kx (/ kx (pow (sin ky) 2))) (* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (pow (sin ky) 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 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (sin th) -1/2) (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (* (sin ky) th) (/ kx (pow (sin ky) 2)) (* kx (/ kx (pow (sin ky) 2))) (* (/ (sin th) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky)) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (pow (sin ky) 2))

simplify202.0ms (1.8%)

Memory
25.8MiB live, 299.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06373194
120583064
080112851
Stop Event
iter limit
node limit
Counts
103 → 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))))))
(/ (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)))
th
(+ th (* -1/2 (/ (* (pow kx 2) th) (pow (sin ky) 2))))
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* th (* (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 (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))
(/ kx (pow (sin ky) 2))
(/ (pow kx 2) (pow (sin ky) 2))
(/ 1 (sin ky))
(+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))
(+ (* (pow kx 2) (- (* 1/2 (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(+ (* (pow kx 2) (- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (+ (* -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) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(* (* (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/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(* (sin th) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/ (* ky (sin th)) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* (sin kx) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8)))))))) (+ (* -1/12 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ (sin th) (pow (sin kx) 3))) (* -1/5040 (/ (sin th) (sin kx)))))))))))))) (/ (sin th) (sin kx))))
(/ (sin 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))))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/ (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)))
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))))
(/ (* ky th) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (* -1/6 (/ th (sin kx))))) (/ th (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ th (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (+ (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* th (* (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 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ th (pow (sin kx) 3))) (* -1/5040 (/ th (sin kx)))))))))))))) (/ th (sin kx))))
(* 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)))))))
(/ kx (pow ky 2))
(/ (+ kx (* 1/3 (* kx (pow ky 2)))) (pow ky 2))
(/ (+ kx (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/ (+ kx (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 kx) (+ (* 2/135 kx) (* 1/3 (+ (* -1/9 kx) (* 2/45 kx))))))) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/ (pow kx 2) (pow ky 2))
(/ (+ (* 1/3 (* (pow kx 2) (pow ky 2))) (pow kx 2)) (pow ky 2))
(/ (+ (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2))))) (* -1/3 (pow kx 2)))) (pow kx 2)) (pow ky 2))
(/ (+ (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 (pow kx 2)) (+ (* 2/135 (pow kx 2)) (* 1/3 (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2)))))))) (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2))))) (* -1/3 (pow kx 2)))) (pow kx 2)) (pow ky 2))
(/ 1 (sin kx))
(+ (* -1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))
(+ (* (pow ky 2) (- (* 1/2 (* (pow ky 2) (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin kx)))
(+ (* (pow ky 2) (- (* (pow ky 2) (+ (* -1/2 (* (pow ky 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/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin 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))))
(* th (sin ky))
(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 (+ 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 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(* -1/2 th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/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)))))))))))
(* -1/2 (sin th))
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 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (*.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 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.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 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.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 (*.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 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)))) (sin.f64 th)))) (*.f64 kx kx) (*.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (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 #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) (+ (* -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 (fma.f64 (/.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))) (*.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))
(+ 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 (fma.f64 (*.f64 (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)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(literal 1/2 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)))) (*.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 #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 (fma.f64 (/.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)) (sin.f64 ky)) (*.f64 kx kx) (/.f64 #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 (fma.f64 (*.f64 (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)) (*.f64 kx (/.f64 kx (sin.f64 ky)))) #s(literal 1/2 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)) (sin.f64 ky))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky))
(/ (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 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (*.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 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))))) (*.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 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 ky)) (*.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)) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.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 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))))) (*.f64 kx kx) (/.f64 (sin.f64 th) (sin.f64 ky)))
th
(+ th (* -1/2 (/ (* (pow kx 2) th) (pow (sin ky) 2))))
(fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) th) (*.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 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 kx kx) th)
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* th (* (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 (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (+.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)))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) th) (*.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 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 kx kx) th)
(/ kx (pow (sin ky) 2))
(/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(/ (pow kx 2) (pow (sin ky) 2))
(*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/ 1 (sin ky))
(/.f64 #s(literal 1 binary64) (sin.f64 ky))
(+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))
(fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(+ (* (pow kx 2) (- (* 1/2 (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(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)))) (sin.f64 ky)) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (*.f64 kx kx) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(+ (* (pow kx 2) (- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (+ (* -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) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 ky)) (+.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)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.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 ky)))) (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (*.f64 kx kx) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(* (* (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/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(*.f64 (fma.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (/.f64 (/.f64 (sin.f64 th) kx) kx)) (*.f64 kx kx))
(* (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))
(* (* 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))))))
(sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/ (* 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 (fma.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/6 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))))
(*.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 (sin.f64 th) #s(literal 1/120 binary64)) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/6 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))))))) (* (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 (sin.f64 th) #s(literal -1/240 binary64)) (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 (sin.f64 th) #s(literal 1/12 binary64)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (fma.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/6 binary64)) (sin.f64 kx)))) (*.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 (+.f64 (fma.f64 #s(literal 31/15120 binary64) (sin.f64 kx) (/.f64 #s(literal 7/720 binary64) (sin.f64 kx))) (fma.f64 (-.f64 (/.f64 #s(literal 2/45 binary64) (sin.f64 kx)) (/.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 3 binary64)))) #s(literal 1/2 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal -1/12 binary64) #s(literal -1/36 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 #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 (fma.f64 (/.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)) (sin.f64 kx)) (*.f64 ky ky) (/.f64 #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 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (-.f64 (/.f64 #s(literal 2/45 binary64) (sin.f64 kx)) (/.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 3 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)) (sin.f64 kx))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/30 binary64)) (*.f64 ky ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 ky ky) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th))) (*.f64 ky ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (fma.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/45 binary64) (*.f64 (sin.f64 th) (*.f64 (*.f64 kx kx) #s(literal 11/945 binary64)))) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/30 binary64))) (*.f64 ky ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 ky ky))) (*.f64 ky 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 (fma.f64 (*.f64 (*.f64 ky ky) #s(literal 1/2 binary64)) (*.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 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.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 (fma.f64 (*.f64 (*.f64 ky ky) #s(literal -1/2 binary64)) (*.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 (*.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 ky ky) (*.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
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)
(/ (* ky th) (sin kx))
(*.f64 (/.f64 th (sin.f64 kx)) ky)
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (* -1/6 (/ th (sin kx))))) (/ th (sin kx))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal -1/2 binary64))) ky) ky (/.f64 th (sin.f64 kx))) ky)
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ th (sin kx))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 th (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)))) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal 1/120 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal 1/12 binary64)))) (*.f64 ky ky) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal -1/2 binary64)))) (*.f64 ky ky) (/.f64 th (sin.f64 kx))) ky)
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (+ (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* th (* (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 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ th (pow (sin kx) 3))) (* -1/5040 (/ th (sin kx)))))))))))))) (/ th (sin kx))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal 1/120 binary64) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 th (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))))) (fma.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 th (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)))) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal -1/5040 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal -1/240 binary64))))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 th (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 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal 1/12 binary64))))) (*.f64 ky ky) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal -1/2 binary64)))) (*.f64 ky ky) (/.f64 th (sin.f64 kx))) ky)
(* ky th)
(*.f64 ky th)
(* ky (+ th (* -1/6 (* (pow ky 2) th))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #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 (*.f64 th (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64))) ky) ky (*.f64 #s(literal -1/6 binary64) th)) (*.f64 ky ky) th) ky)
(/ kx (pow ky 2))
(/.f64 kx (*.f64 ky ky))
(/ (+ kx (* 1/3 (* kx (pow ky 2)))) (pow ky 2))
(/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky)
(/ (+ kx (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky))
(/ (+ kx (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 kx) (+ (* 2/135 kx) (* 1/3 (+ (* -1/9 kx) (* 2/45 kx))))))) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (neg.f64 (fma.f64 (*.f64 (fma.f64 kx #s(literal 11/945 binary64) (*.f64 kx #s(literal -1/45 binary64))) ky) ky (*.f64 kx #s(literal -1/15 binary64)))) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky))
(/ (pow kx 2) (pow ky 2))
(*.f64 kx (/.f64 kx (*.f64 ky ky)))
(/ (+ (* 1/3 (* (pow kx 2) (pow ky 2))) (pow kx 2)) (pow ky 2))
(/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 ky ky) kx) kx) #s(literal 1/3 binary64) (*.f64 kx kx)) ky) ky)
(/ (+ (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2))))) (* -1/3 (pow kx 2)))) (pow kx 2)) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky ky))
(/ (+ (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 (pow kx 2)) (+ (* 2/135 (pow kx 2)) (* 1/3 (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2)))))))) (+ (* -1/9 (pow kx 2)) (* 2/45 (pow kx 2))))) (* -1/3 (pow kx 2)))) (pow kx 2)) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/3 binary64) kx) kx (*.f64 (neg.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal 11/945 binary64) (*.f64 (*.f64 kx kx) #s(literal -1/45 binary64))) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/15 binary64)))) (*.f64 ky ky))) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky ky))
(/ 1 (sin kx))
(/.f64 #s(literal 1 binary64) (sin.f64 kx))
(+ (* -1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))
(fma.f64 (*.f64 ky (/.f64 ky (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))
(+ (* (pow ky 2) (- (* 1/2 (* (pow ky 2) (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin kx)))
(fma.f64 (fma.f64 (*.f64 (*.f64 ky ky) #s(literal 1/2 binary64)) (*.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 kx)) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (*.f64 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))
(+ (* (pow ky 2) (- (* (pow ky 2) (+ (* -1/2 (* (pow ky 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/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin kx)))
(fma.f64 (fma.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 (*.f64 #s(literal -1/2 binary64) (*.f64 ky ky)) (*.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 kx)))) (*.f64 ky ky) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (*.f64 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))
(pow ky 2)
(*.f64 ky ky)
(* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 ky ky) #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 #s(literal -1/315 binary64) (*.f64 ky ky) #s(literal 2/45 binary64)) (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky) ky)
(* th (sin ky))
(*.f64 (sin.f64 ky) th)
(pow (sin ky) 2)
(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))))))))))
(*.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 #s(literal 1/120 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th) (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)))) (*.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))))) (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 (+ 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 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/12 binary64) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/6 binary64)) (*.f64 th th) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/120 binary64)) (*.f64 th th) (fma.f64 #s(literal 1/12 binary64) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/10080 binary64) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/5040 binary64)) (*.f64 th th) (fma.f64 #s(literal -1/240 binary64) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal 1/120 binary64))) (*.f64 th th) (fma.f64 #s(literal 1/12 binary64) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) th)
(* -1/2 th)
(*.f64 #s(literal -1/2 binary64) th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(*.f64 (fma.f64 (*.f64 th th) #s(literal 1/12 binary64) #s(literal -1/2 binary64)) th)
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/2))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/10080 binary64) (*.f64 th th) #s(literal -1/240 binary64)) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 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)
(* -1/2 (sin th))
(*.f64 #s(literal -1/2 binary64) (sin.f64 th))

rewrite68.0ms (0.6%)

Memory
4.4MiB live, 43.0MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
036202
059172
1205168
01246168
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
18 → 213
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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (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)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 ky)
#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) 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 (sin.f64 ky) th)
(/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
Outputs
(*.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) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (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 (neg.f64 (sin.f64 th)) (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky)))))
(*.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 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (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)) (sin.f64 ky)) (sin.f64 th)) #s(literal -1 binary64))
(/.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 ky)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.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 ky) (neg.f64 (sin.f64 th))) (neg.f64 (hypot.f64 (sin.f64 kx) (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 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.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 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 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(/.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 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)))))
(sin.f64 th)
(*.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.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))) (/.f64 #s(literal 1 binary64) (neg.f64 (sin.f64 ky))))
(*.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (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 #s(literal 1 binary64) (/.f64 (/.f64 (sin.f64 ky) (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 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky))))
(*.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)))
(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 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)))))
(sqrt.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(hypot.f64 (exp.f64 (log.f64 (sin.f64 ky))) (exp.f64 (log.f64 (sin.f64 kx))))
(hypot.f64 (exp.f64 (log.f64 (sin.f64 ky))) (sin.f64 kx))
(hypot.f64 (exp.f64 (log.f64 (sin.f64 kx))) (exp.f64 (log.f64 (sin.f64 ky))))
(hypot.f64 (exp.f64 (log.f64 (sin.f64 kx))) (sin.f64 ky))
(hypot.f64 (sin.f64 kx) (exp.f64 (log.f64 (sin.f64 ky))))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (exp.f64 (log.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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (neg.f64 (sin.f64 th)))))
(*.f64 (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)))) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 th) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64))) (-.f64 (sin.f64 th) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (neg.f64 (sin.f64 th)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)))) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (neg.f64 (sin.f64 th))))
(/.f64 (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 3 binary64))) (fma.f64 (sin.f64 th) (sin.f64 th) (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) (sin.f64 th)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 3 binary64))) (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)))) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (neg.f64 (sin.f64 th))) (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)))) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 3 binary64)))))
(fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (sin.f64 th))
(fma.f64 (*.f64 (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx) (sin.f64 th)) #s(literal -1/2 binary64) (sin.f64 th))
(fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) kx (sin.f64 th))
(fma.f64 (*.f64 (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx) #s(literal -1/2 binary64)) (sin.f64 th) (sin.f64 th))
(fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (sin.f64 th))
(fma.f64 (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sin.f64 th))
(fma.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) (sin.f64 th))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx) (sin.f64 th))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 th) (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx)) (sin.f64 th))
(fma.f64 kx (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th))
(fma.f64 (sin.f64 th) (*.f64 (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx) #s(literal -1/2 binary64)) (sin.f64 th))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (neg.f64 (sin.f64 th)))) (/.f64 (pow.f64 (sin.f64 th) #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (neg.f64 (sin.f64 th)))))
(+.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) (sin.f64 th))
(+.f64 (sin.f64 th) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (sin.f64 th)))
(*.f64 #s(literal -1/2 binary64) (sin.f64 th))
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 #s(literal 1 binary64) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (sin.f64 th))
(*.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 (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)))))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal 1/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 1/2 binary64)))
(pow.f64 (sin.f64 ky) #s(literal 1 binary64))
(sin.f64 ky)
(exp.f64 (*.f64 (log.f64 (sin.f64 ky)) #s(literal 1 binary64)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (*.f64 (sin.f64 ky) th))
(*.f64 (*.f64 (sin.f64 ky) th) (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))) th)
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 th (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (*.f64 (sin.f64 ky) th) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) th)
(*.f64 th (sin.f64 ky))
(*.f64 (/.f64 kx (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal 2 binary64))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx)
(*.f64 (neg.f64 kx) (/.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(*.f64 #s(literal 1 binary64) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(*.f64 kx (pow.f64 (sin.f64 ky) #s(literal -2 binary64)))
(pow.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx) #s(literal -1 binary64))
(/.f64 (*.f64 kx #s(literal 1 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(/.f64 (/.f64 kx (sin.f64 ky)) (sin.f64 ky))
(/.f64 (neg.f64 (neg.f64 kx)) (neg.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (neg.f64 kx) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx))
(/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(neg.f64 (/.f64 (neg.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(neg.f64 (/.f64 kx (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(*.f64 (/.f64 (*.f64 kx kx) (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal 2 binary64))
(*.f64 (/.f64 kx (sin.f64 ky)) (/.f64 kx (sin.f64 ky)))
(*.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)))
(*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) kx)
(*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))
(/.f64 (*.f64 (neg.f64 kx) kx) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 1 binary64) kx) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx))
(/.f64 (*.f64 kx (neg.f64 kx)) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/.f64 (*.f64 kx #s(literal 1 binary64)) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx))
(/.f64 (neg.f64 (*.f64 kx kx)) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (*.f64 kx kx)))
(/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx))
(*.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) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (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 (neg.f64 (sin.f64 th)) (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky)))))
(*.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 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (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)) (sin.f64 ky)) (sin.f64 th)) #s(literal -1 binary64))
(/.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 ky)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.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 ky) (neg.f64 (sin.f64 th))) (neg.f64 (hypot.f64 (sin.f64 kx) (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 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.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 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 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(/.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 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)))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 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 binary64)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 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 binary64)) #s(literal 1/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))
(pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sqrt.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64))) #s(literal 1/2 binary64)))
(*.f64 (exp.f64 (log.f64 (sin.f64 ky))) (exp.f64 (log.f64 (sin.f64 ky))))
(*.f64 (-.f64 (cos.f64 #s(literal 0 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 (log.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 #s(literal 1/4 binary64) (*.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) (pow.f64 (cos.f64 ky) #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/8 binary64) (pow.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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) ky)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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))))))
(/.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 (neg.f64 (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal -2 binary64))
(/.f64 (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
(-.f64 (/.f64 (cos.f64 #s(literal 0 binary64)) #s(literal 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)))
(exp.f64 (*.f64 (log.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) 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) (*.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))))

eval168.0ms (1.5%)

Memory
-10.1MiB live, 116.3MiB allocated
Compiler

Compiled 14 059 to 1 658 computations (88.2% saved)

prune59.0ms (0.5%)

Memory
-1.4MiB live, 117.3MiB allocated
Pruning

53 alts after pruning (50 fresh and 3 done)

PrunedKeptTotal
New35439393
Fresh31114
Picked235
Done000
Total35953412
Accuracy
100.0%
Counts
412 → 53
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
99.7%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
42.4%
(/.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))))
29.5%
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
33.8%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
26.8%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
25.5%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
99.5%
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
51.1%
(/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
51.0%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
69.6%
(*.f64 (pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (sin.f64 th))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
42.4%
(*.f64 (/.f64 (sin.f64 th) (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)))
43.9%
(*.f64 (/.f64 (sin.f64 th) (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 ky))
30.8%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
29.5%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
79.4%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 th))
81.9%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (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)))) (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (sin.f64 th))
38.8%
(*.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))
54.1%
(*.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))
29.5%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
51.0%
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
50.9%
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
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))
25.1%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
25.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
93.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (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))) (sin.f64 th))
18.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
27.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
26.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
12.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
18.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
13.6%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky ky))) (sin.f64 th)))
21.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
46.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
50.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
50.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
46.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
18.1%
#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 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) #s(literal 2 binary64)))))))
43.5%
#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) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))))
18.1%
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
18.2%
#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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
23.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
30.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
13.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
14.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
3.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
3.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
16.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
16.9%
#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)))
17.0%
#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.8%
#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)))
Compiler

Compiled 3 171 to 2 129 computations (32.9% saved)

simplify153.0ms (1.3%)

Memory
-9.1MiB live, 104.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 th th)
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-diff384
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
cost-diff0
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
cost-diff128
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))
cost-diff6912
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
cost-diff0
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))
cost-diff0
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky)))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
cost-diff7040
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky)))
cost-diff0
(*.f64 th th)
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-diff0
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
cost-diff0
(/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
cost-diff0
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
cost-diff448
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057483
097468
1164466
2316450
3703442
42151436
53573434
66051434
08020413
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
#s(literal -1 binary64)
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 ky)
ky
(sin.f64 kx)
kx
(neg.f64 (sin.f64 ky))
(sin.f64 th)
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))
(*.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)
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky)))
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky)))
(*.f64 #s(literal -1/2 binary64) (*.f64 kx kx))
#s(literal -1/2 binary64)
(*.f64 kx kx)
kx
(sin.f64 th)
th
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th))
(fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 ky ky)
ky
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 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 (sin.f64 th) #s(literal -1/2 binary64))
(sin.f64 th)
th
#s(literal -1/2 binary64)
(*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))
kx
(/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal 2 binary64) ky))
(*.f64 #s(literal 2 binary64) ky)
#s(literal 2 binary64)
ky
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
#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 (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
Outputs
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(literal -1 binary64)
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 ky)
ky
(sin.f64 kx)
kx
(neg.f64 (sin.f64 ky))
(sin.f64 th)
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 (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)
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (sin.f64 th) (/.f64 (fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) (*.f64 ky ky)) (*.f64 ky ky)))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky)))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (sin.f64 th) (/.f64 (fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) (*.f64 ky ky)) (*.f64 ky ky))))
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))
(*.f64 (sin.f64 th) (/.f64 (fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) (*.f64 ky ky)) (*.f64 ky ky)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky)))
(*.f64 (fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) (*.f64 ky ky)) (sin.f64 th))
(*.f64 #s(literal -1/2 binary64) (*.f64 kx kx))
(*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
(*.f64 kx kx)
kx
(sin.f64 th)
th
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))
(*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) (*.f64 (sin.f64 th) ky))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th))
(*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))
(fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64))
(fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 ky ky)
ky
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (/.f64 kx (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64))) kx #s(literal 1 binary64)) (sin.f64 th)))
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 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 (fma.f64 (/.f64 kx (-.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64))) kx #s(literal 1 binary64)) (sin.f64 th))
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (sin.f64 th))
(sin.f64 th)
th
#s(literal -1/2 binary64)
(*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))
(/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))
kx
(/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
(/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #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)))
(fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal 2 binary64) ky))
(*.f64 #s(literal 2 binary64) ky)
#s(literal 2 binary64)
ky
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 #s(approx (sin th) (fma.f64 (pow.f64 th #s(literal 3 binary64)) #s(literal -1/6 binary64) th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#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 (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

localize255.0ms (2.2%)

Memory
13.5MiB live, 380.2MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.13596623016428752
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
accuracy0.139003759768442
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
accuracy0.15625
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
accuracy31.27391694725741
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
accuracy3.817210673492571
(/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
accuracy4.830986651037531
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
accuracy12.97825191200341
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))
accuracy46.59103330069831
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
accuracy7.45716499196448
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))
accuracy9.399564283892696
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky)))
accuracy28.955431742355998
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))
accuracy46.59103330069831
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
accuracy0.05078125
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
accuracy0.13596623016428752
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
accuracy31.27391694725741
#s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))
accuracy44.24692519517099
#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.078125
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
accuracy0.14453125
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
accuracy0.21484375
(/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
accuracy0.34375
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
Samples
98.0ms85×1valid
78.0ms157×0valid
27.0ms14×2valid
Compiler

Compiled 901 to 113 computations (87.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 164.0ms
ival-mult: 52.0ms (31.8% of total)
ival-sin: 32.0ms (19.6% of total)
ival-cos: 20.0ms (12.2% of total)
ival-div: 14.0ms (8.6% of total)
adjust: 10.0ms (6.1% of total)
ival-add: 9.0ms (5.5% of total)
ival-pow2: 9.0ms (5.5% of total)
ival-hypot: 5.0ms (3.1% of total)
const: 5.0ms (3.1% of total)
ival-sub: 2.0ms (1.2% of total)
ival-sqrt: 2.0ms (1.2% of total)
ival-neg: 2.0ms (1.2% of total)
exact: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series116.0ms (1%)

Memory
-3.3MiB live, 111.6MiB allocated
Counts
21 → 120
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(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 (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 th th)
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky)))
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 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(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 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 (sin.f64 th) #s(literal -1/2 binary64))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))
(/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
Outputs
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 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 (sin ky))
(- (* 1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))
(- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(- (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))) (* 1/2 (* (pow kx 2) (* (sin ky) (+ (* -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 (/ 1 (pow (sin ky) 3))))) (/ 1 (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))))))
(* (pow ky 2) (sin th))
(+ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (* (pow ky 2) (sin th)))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (* -1/6 (sin th)))))
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky)))))))
(+ (* -1/6 (* (pow kx 2) (* (pow ky 2) (sin th)))) (* (pow ky 2) (sin th)))
(/ kx (- 1/2 (* 1/2 (cos (* 2 ky)))))
(+ 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) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* -1 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th)))))
(* (pow kx 2) (+ (* -1/2 (sin th)) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2)))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(/ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (pow ky 2))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (+ (* -1/6 (sin th)) (/ (sin th) (pow kx 2)))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky))))))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (/ (sin th) (pow kx 2))))
(* -1/6 (* (pow kx 2) (* (pow ky 2) (sin th))))
(* (pow kx 2) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2))))
(* (/ 1 (sin ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/ ky (sin kx))
(* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/12 (/ 1 (pow (sin kx) 3)))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/12 (/ 1 (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* (pow ky 2) (- (+ (* -1/2 (* (sin kx) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8))))))) (* -1/12 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* 1/5040 (/ 1 (sin kx))) (* 1/240 (/ 1 (pow (sin kx) 3)))))))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(/ (* 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))))
(/ -1 (sin kx))
(- (* 1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))
(- (* (pow ky 2) (+ (* -1/2 (* (pow ky 2) (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin kx)))
(- (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/2 (* (pow ky 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/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (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))))))
(* -1/2 (* (pow kx 2) (sin th)))
(+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(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 ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(/ kx (pow ky 2))
(/ (+ kx (* 1/3 (* kx (pow ky 2)))) (pow ky 2))
(/ (+ kx (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/ (+ kx (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 kx) (+ (* 2/135 kx) (* 1/3 (+ (* -1/9 kx) (* 2/45 kx))))))) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/ (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)
(* (pow ky 2) (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(* (sin th) (+ 1 (* -1/6 (pow kx 2))))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(- 1/2 (* 1/2 (cos (* 2 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
(* 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)))
(pow th 2)
(* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/12 (pow kx 2)))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (+ (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/10080 (pow kx 2)))))))))))))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(/ (* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (* 1/12 (/ (pow kx 2) (pow ky 2))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (* 1/120 (+ 1 (* -1/6 (pow kx 2))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (+ (* 1/120 (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/5040 (+ 1 (* -1/6 (pow kx 2)))) (* 1/10080 (/ (pow kx 2) (pow ky 2))))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/5040)))))) 1/6)))))
(* -1/2 th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/2))
(* (pow ky 2) (* th (+ 1 (* -1/6 (pow kx 2)))))
(* th (+ (* -1/6 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2)))))) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/120 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2))))))))))
(* th (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2)))))) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))
(* -1/6 (pow th 2))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(* -1/2 (sin th))
(* -1/6 (pow th 3))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
Calls

9 calls:

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

simplify244.0ms (2.1%)

Memory
-0.9MiB live, 268.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06753677
122373528
084003255
Stop Event
iter limit
node limit
Counts
120 → 119
Calls
Call 1
Inputs
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 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 (sin ky))
(- (* 1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))
(- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(- (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))) (* 1/2 (* (pow kx 2) (* (sin ky) (+ (* -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 (/ 1 (pow (sin ky) 3))))) (/ 1 (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))))))
(* (pow ky 2) (sin th))
(+ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (* (pow ky 2) (sin th)))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (* -1/6 (sin th)))))
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky)))))))
(+ (* -1/6 (* (pow kx 2) (* (pow ky 2) (sin th)))) (* (pow ky 2) (sin th)))
(/ kx (- 1/2 (* 1/2 (cos (* 2 ky)))))
(+ 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) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* -1 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th)))))
(* (pow kx 2) (+ (* -1/2 (sin th)) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2)))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(/ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (pow ky 2))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (+ (* -1/6 (sin th)) (/ (sin th) (pow kx 2)))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky))))))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (/ (sin th) (pow kx 2))))
(* -1/6 (* (pow kx 2) (* (pow ky 2) (sin th))))
(* (pow kx 2) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2))))
(* (/ 1 (sin ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/ ky (sin kx))
(* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/12 (/ 1 (pow (sin kx) 3)))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/12 (/ 1 (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* (pow ky 2) (- (+ (* -1/2 (* (sin kx) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8))))))) (* -1/12 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* 1/5040 (/ 1 (sin kx))) (* 1/240 (/ 1 (pow (sin kx) 3)))))))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))
(/ (* 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))))
(/ -1 (sin kx))
(- (* 1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))
(- (* (pow ky 2) (+ (* -1/2 (* (pow ky 2) (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin kx)))
(- (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/2 (* (pow ky 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/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (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))))))
(* -1/2 (* (pow kx 2) (sin th)))
(+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(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 ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(/ kx (pow ky 2))
(/ (+ kx (* 1/3 (* kx (pow ky 2)))) (pow ky 2))
(/ (+ kx (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/ (+ kx (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 kx) (+ (* 2/135 kx) (* 1/3 (+ (* -1/9 kx) (* 2/45 kx))))))) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/ (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)
(* (pow ky 2) (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(* (sin th) (+ 1 (* -1/6 (pow kx 2))))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(- 1/2 (* 1/2 (cos (* 2 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
(* 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)))
(pow th 2)
(* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/12 (pow kx 2)))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (+ (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/10080 (pow kx 2)))))))))))))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(/ (* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (* 1/12 (/ (pow kx 2) (pow ky 2))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (* 1/120 (+ 1 (* -1/6 (pow kx 2))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (+ (* 1/120 (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/5040 (+ 1 (* -1/6 (pow kx 2)))) (* 1/10080 (/ (pow kx 2) (pow ky 2))))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/5040)))))) 1/6)))))
(* -1/2 th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/2))
(* (pow ky 2) (* th (+ 1 (* -1/6 (pow kx 2)))))
(* th (+ (* -1/6 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2)))))) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/120 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2))))))))))
(* th (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2)))))) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))
(* -1/6 (pow th 2))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(* -1/2 (sin th))
(* -1/6 (pow th 3))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
Outputs
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 (fma.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (+.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)))) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (*.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 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) #s(literal 1 binary64))
(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 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (*.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 (*.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) (* (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 (fma.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 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)))) (sin.f64 th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (*.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 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (*.f64 kx kx) (sin.f64 th))
(/ -1 (sin ky))
(/.f64 #s(literal -1 binary64) (sin.f64 ky))
(- (* 1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 3 binary64))) kx) kx (/.f64 #s(literal -1 binary64) (sin.f64 ky)))
(- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(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)))) (sin.f64 ky)) (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (*.f64 kx kx) (/.f64 #s(literal -1 binary64) (sin.f64 ky)))
(- (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (* (sin ky) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))) (* 1/2 (* (pow kx 2) (* (sin ky) (+ (* -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 (/ 1 (pow (sin ky) 3))))) (/ 1 (sin ky)))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 ky)) (+.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)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.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 ky)))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 3 binary64)))) (*.f64 kx kx) (/.f64 #s(literal -1 binary64) (sin.f64 ky)))
(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 (fma.f64 (/.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)) (sin.f64 ky)) (*.f64 kx kx) (/.f64 #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 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (/.f64 (-.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)))) (sin.f64 ky)) (/.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)) (sin.f64 ky))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky))
(* (pow ky 2) (sin th))
(*.f64 (*.f64 (sin.f64 th) ky) ky)
(+ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (* (pow ky 2) (sin th)))
(fma.f64 (*.f64 (sin.f64 th) ky) ky (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx)))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (* -1/6 (sin th)))))
(fma.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) ky) (/.f64 (sin.f64 th) ky) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))) (*.f64 kx kx) (sin.f64 th))
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky)))))))
(fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) (sin.f64 th))
(+ (* -1/6 (* (pow kx 2) (* (pow ky 2) (sin th)))) (* (pow ky 2) (sin th)))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))
(/ kx (- 1/2 (* 1/2 (cos (* 2 ky)))))
(/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
(+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))
(fma.f64 (/.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) (+ (* -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 (fma.f64 (/.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))) (*.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))
(+ 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 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (/.f64 (-.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)))) (pow.f64 (sin.f64 ky) #s(literal 2 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)))) (*.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) (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))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
(* -1 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(neg.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))))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th)))))
(*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))
(* (pow kx 2) (+ (* -1/2 (sin th)) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2)))))
(*.f64 (fma.f64 (/.f64 (*.f64 ky ky) kx) (/.f64 (sin.f64 th) kx) (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64)))) (*.f64 kx kx))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(*.f64 (fma.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64) (/.f64 (sin.f64 th) (*.f64 kx kx))) (*.f64 kx kx))
(/ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (pow ky 2))
(/.f64 (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx)) (*.f64 ky ky))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (+ (* -1/6 (sin th)) (/ (sin th) (pow kx 2)))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) ky) (/.f64 (sin.f64 th) ky) (fma.f64 #s(literal -1/6 binary64) (sin.f64 th) (/.f64 (sin.f64 th) (*.f64 kx kx)))) (*.f64 kx kx))
(* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky))))))
(/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (/ (sin th) (pow kx 2))))
(*.f64 (fma.f64 (/.f64 (sin.f64 th) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (/.f64 (sin.f64 th) (*.f64 kx kx))) (*.f64 kx kx))
(* -1/6 (* (pow kx 2) (* (pow ky 2) (sin th))))
(*.f64 (*.f64 (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 (*.f64 (sin.f64 th) kx) kx))
(* (pow kx 2) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2))))
(*.f64 (fma.f64 (/.f64 (*.f64 ky ky) kx) (/.f64 (sin.f64 th) kx) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 ky ky)) (sin.f64 th))) (*.f64 kx kx))
(* (/ 1 (sin ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 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 (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 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal 1/120 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 (sin.f64 th) #s(literal 1/12 binary64)) (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 (+ (* (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 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal 1/120 binary64) (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 (sin.f64 th) #s(literal -1/240 binary64)) (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 (sin.f64 th) #s(literal 1/12 binary64)) (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)
(/ -1 (sin kx))
(/.f64 #s(literal -1 binary64) (sin.f64 kx))
(- (* 1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) ky) ky (/.f64 #s(literal -1 binary64) (sin.f64 kx)))
(- (* (pow ky 2) (+ (* -1/2 (* (pow ky 2) (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* 1/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin kx)))
(fma.f64 (fma.f64 (*.f64 (*.f64 ky ky) #s(literal -1/2 binary64)) (*.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 kx)) (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (*.f64 ky ky) (/.f64 #s(literal -1 binary64) (sin.f64 kx)))
(- (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/2 (* (pow ky 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/2 (/ 1 (pow (sin kx) 3))))) (/ 1 (sin kx)))
(fma.f64 (fma.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 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (*.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 kx)))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))) (*.f64 ky ky) (/.f64 #s(literal -1 binary64) (sin.f64 kx)))
(sin kx)
(sin.f64 kx)
(+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx))
(+ (sin kx) (* (pow ky 2) (+ (* -1/2 (/ (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2))))) (sin kx))) (* 1/2 (/ 1 (sin kx))))))
(fma.f64 (fma.f64 (/.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)) (sin.f64 kx)) (*.f64 ky ky) (/.f64 #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 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (/.f64 (-.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)))) (sin.f64 kx)) (/.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)) (sin.f64 kx))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx))
(* -1/2 (* (pow kx 2) (sin th)))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)
(+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(fma.f64 (*.f64 (sin.f64 th) ky) ky (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx)))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 (sin.f64 th) ky) ky (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/30 binary64)) (*.f64 ky ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 ky ky) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (fma.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal 11/945 binary64) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/45 binary64))) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/30 binary64))) (*.f64 ky ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 ky ky))) (*.f64 ky ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 (sin.f64 th) ky) ky (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))
(pow ky 2)
(*.f64 ky ky)
(* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 ky ky) #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 #s(literal -1/315 binary64) (*.f64 ky ky) #s(literal 2/45 binary64)) (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky) ky)
(* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))
(/ kx (pow ky 2))
(/.f64 kx (*.f64 ky ky))
(/ (+ kx (* 1/3 (* kx (pow ky 2)))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) (*.f64 ky ky))
(/ (+ kx (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky))
(/ (+ kx (* (pow ky 2) (- (* (pow ky 2) (- (* -1 (* (pow ky 2) (+ (* -1/315 kx) (+ (* 2/135 kx) (* 1/3 (+ (* -1/9 kx) (* 2/45 kx))))))) (+ (* -1/9 kx) (* 2/45 kx)))) (* -1/3 kx)))) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (neg.f64 (fma.f64 (*.f64 (fma.f64 kx #s(literal 11/945 binary64) (*.f64 kx #s(literal -1/45 binary64))) ky) ky (*.f64 kx #s(literal -1/15 binary64)))) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky 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) (fma.f64 (/.f64 (-.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)))) (sin.f64 kx)) #s(literal 1/2 binary64) (/.f64 #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)
(* (pow ky 2) (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) ky) (/.f64 (sin.f64 th) ky) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))) (*.f64 kx kx) (sin.f64 th)) (*.f64 ky ky))
(* (sin th) (+ 1 (* -1/6 (pow kx 2))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(fma.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) ky) (/.f64 (sin.f64 th) ky) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))) (*.f64 kx kx) (sin.f64 th))
(- 1/2 (* 1/2 (cos (* 2 ky))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/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))
(pow th 2)
(*.f64 th th)
(* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/12 (pow kx 2)))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 (*.f64 #s(literal -1/240 binary64) kx) kx (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 ky ky))) (*.f64 th th)))) (*.f64 th th)))) th)
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (+ (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/10080 (pow kx 2)))))))))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 (*.f64 #s(literal -1/240 binary64) kx) kx (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 #s(literal 1/10080 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/30240 binary64) (*.f64 kx kx) #s(literal -1/5040 binary64)) (*.f64 ky ky))) (*.f64 th th)))) (*.f64 th th)))) (*.f64 th th)))) th)
(* th (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/12 binary64) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (*.f64 th th) (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) th th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(fma.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/120 binary64)) (*.f64 th th) (fma.f64 #s(literal 1/12 binary64) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) th th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(fma.f64 (fma.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/10080 binary64) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/5040 binary64)) (*.f64 th th) (fma.f64 #s(literal -1/240 binary64) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/120 binary64))) (*.f64 th th) (fma.f64 #s(literal 1/12 binary64) (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) th th)
(/ (* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky)))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (* 1/12 (/ (pow kx 2) (pow ky 2))))) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) th)
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (* 1/120 (+ 1 (* -1/6 (pow kx 2))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (fma.f64 (/.f64 #s(literal -1/240 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64))) (*.f64 th th) (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) th)
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (+ (* 1/120 (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/5040 (+ 1 (* -1/6 (pow kx 2)))) (* 1/10080 (/ (pow kx 2) (pow ky 2))))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (fma.f64 (/.f64 #s(literal -1/240 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/10080 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/30240 binary64) (*.f64 kx kx) #s(literal -1/5040 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)))) (*.f64 th th) (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) th)
(* th (+ 1 (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/6)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal 1/12 binary64) #s(literal -1/6 binary64)) (*.f64 th th) (/.f64 (*.f64 (*.f64 kx 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))))) th th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal -1/240 binary64) #s(literal 1/120 binary64)) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal 1/12 binary64) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/5040)))))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal 1/10080 binary64) #s(literal -1/5040 binary64)) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal -1/240 binary64) #s(literal 1/120 binary64))) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal 1/12 binary64) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) th)
(* -1/2 th)
(*.f64 #s(literal -1/2 binary64) th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(*.f64 (fma.f64 (*.f64 th th) #s(literal 1/12 binary64) #s(literal -1/2 binary64)) th)
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/2))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/10080 binary64) (*.f64 th th) #s(literal -1/240 binary64)) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)
(* (pow ky 2) (* th (+ 1 (* -1/6 (pow kx 2)))))
(*.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) th) ky) ky)
(* th (+ (* -1/6 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2)))))) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) th) th) (*.f64 ky ky))) th)
(* th (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/120 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2))))))))))
(*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 ky ky)) (*.f64 th th) (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th))) th)
(* th (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (* (pow th 2) (+ 1 (* -1/6 (pow kx 2)))))) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))
(*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/30240 binary64) (*.f64 kx kx) #s(literal -1/5040 binary64)) (*.f64 ky ky)) (*.f64 th th) (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 ky ky))) (*.f64 th th) (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th))) th)
(* -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/2 (sin th))
(*.f64 #s(literal -1/2 binary64) (sin.f64 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 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 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)))

rewrite231.0ms (2%)

Memory
-18.1MiB live, 323.8MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057358
097325
1350319
22235311
09045311
Stop Event
iter limit
node limit
iter limit
Counts
21 → 392
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(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 (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 th th)
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky)))
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))
(fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 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(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 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 (sin.f64 th) #s(literal -1/2 binary64))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))
(/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
Outputs
(*.f64 (pow.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)) (sin.f64 ky))
(*.f64 (neg.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 ky))
(*.f64 (*.f64 #s(literal 1 binary64) (sin.f64 ky)) (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 (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 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (neg.f64 (sin.f64 ky)) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (neg.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (neg.f64 (sin.f64 ky))))
(*.f64 #s(literal -1 binary64) (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(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)) (*.f64 #s(literal 1 binary64) (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))
(pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (*.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))) (*.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (sin.f64 ky))) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) #s(literal 1 binary64)) (*.f64 (hypot.f64 (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 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 #s(literal 1 binary64) (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 ky)) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(/.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)) (*.f64 #s(literal 1 binary64) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (neg.f64 (sin.f64 ky)) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (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)) (neg.f64 (sin.f64 ky))))
(neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(neg.f64 (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 (sin.f64 ky)) (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 (*.f64 (sin.f64 th) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (sin.f64 ky)))
(*.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 th) (neg.f64 (sin.f64 ky))) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.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 (neg.f64 (sin.f64 ky)) (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (*.f64 (sin.f64 th) (neg.f64 (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 #s(literal -1 binary64) (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (*.f64 (sin.f64 th) (neg.f64 (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 (*.f64 #s(literal 1 binary64) (sin.f64 ky)) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky)))) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky)))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 #s(literal -1 binary64) (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky)))) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (*.f64 #s(literal 1 binary64) (sin.f64 ky))) (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) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))) (neg.f64 (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)))
(neg.f64 (*.f64 (sin.f64 th) (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(neg.f64 (*.f64 (/.f64 (neg.f64 (sin.f64 ky)) (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)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 #s(literal -1 binary64) (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)) #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64))
(pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (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)) #s(literal -1 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(neg.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(literal -1 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 ky) (sin.f64 kx)) #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 ky) (sin.f64 kx)) #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 ky) (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))) (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)))
(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 (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 ky) (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 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 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (pow.f64 (cos.f64 ky) #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) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) ky)) #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) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) 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/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64) (*.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 ky) #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) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) 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 ky) (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 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 (-.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 ky) (sin.f64 kx)) #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 ky) (sin.f64 kx)) #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))))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(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)))
#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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (*.f64 (*.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal -1 binary64))) (*.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/6 binary64) (*.f64 th th) #s(literal -1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #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 #s(literal -1/6 binary64) (*.f64 th th))))
(/.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 #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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))))
(/.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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) th) th #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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (*.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 (exp.f64 (log.f64 th)) (exp.f64 (log.f64 th)))
(*.f64 th th)
(pow.f64 (exp.f64 (log.f64 th)) #s(literal 2 binary64))
(pow.f64 (*.f64 th th) #s(literal 1 binary64))
(pow.f64 th #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64)))
(*.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64))) (pow.f64 (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) #s(literal -1 binary64)))
(*.f64 (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64))) (pow.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)))))) #s(literal -1 binary64)))
(pow.f64 (/.f64 (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)))))) (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64)))) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))) (*.f64 (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64)))) (*.f64 (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64)) (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64)))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
(/.f64 (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64))) (fma.f64 (pow.f64 ky #s(literal 4 binary64)) (pow.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))) (*.f64 ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))))
(/.f64 (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)))))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)))))) (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64)))))
(fma.f64 (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64))) (sin.f64 th) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
(fma.f64 (*.f64 (*.f64 (sin.f64 th) ky) ky) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
(fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (sin.f64 th) ky)) ky (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (*.f64 kx kx) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(fma.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
(fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
(fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
(fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (sin.f64 th) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(fma.f64 (*.f64 kx kx) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(fma.f64 (sin.f64 th) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 ky ky)) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
(fma.f64 (sin.f64 th) (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(fma.f64 ky (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (sin.f64 th) ky)) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
(-.f64 (/.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))) (/.f64 (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))))
(+.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))
(+.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 ky #s(literal -2 binary64)) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 ky #s(literal -2 binary64)) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))))
(*.f64 (pow.f64 (/.f64 (*.f64 ky ky) (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64)))) #s(literal -1 binary64)) (pow.f64 (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 ky ky) (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64)))) #s(literal -1 binary64)) (pow.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)))))) #s(literal -1 binary64)))
(*.f64 (pow.f64 ky #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) ky))
(*.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) ky) (pow.f64 ky #s(literal -1 binary64)))
(*.f64 (pow.f64 ky #s(literal -2 binary64)) (pow.f64 (pow.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 ky #s(literal -2 binary64)) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
(*.f64 (neg.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))) (pow.f64 (*.f64 (neg.f64 ky) ky) #s(literal -1 binary64)))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) (pow.f64 ky #s(literal -2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (pow.f64 ky #s(literal -2 binary64)) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))))
(pow.f64 (/.f64 ky (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) ky)) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64))) (pow.f64 ky #s(literal -2 binary64))) (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
(/.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64))) (pow.f64 ky #s(literal -2 binary64))) (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)))))))
(/.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) #s(literal 1 binary64)) (*.f64 ky ky))
(/.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) ky)) (neg.f64 ky))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))) (neg.f64 (*.f64 (neg.f64 ky) ky)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) (*.f64 ky ky)))
(/.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)))))) (*.f64 ky ky)))
(/.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) ky) ky)
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) #s(literal 2 binary64)) (pow.f64 kx #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 2 binary64))) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (neg.f64 ky) ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))))
(/.f64 (fma.f64 (*.f64 (pow.f64 kx #s(literal 6 binary64)) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) #s(literal 3 binary64))) (*.f64 (*.f64 ky ky) (fma.f64 (pow.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (-.f64 (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))) (*.f64 (neg.f64 ky) ky))
(/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) (*.f64 ky ky))
(/.f64 #s(literal 1 binary64) (/.f64 ky (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))))) (*.f64 ky ky)))
(neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))) (*.f64 (neg.f64 ky) ky)))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th)) (*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))) #s(literal -1 binary64)))
(*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64))) (pow.f64 (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th)) #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) (pow.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64))) #s(literal -1 binary64)))
(pow.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th)) (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64))) (fma.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (sin.f64 th) #s(literal 3 binary64)))) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th))) (*.f64 (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))) (*.f64 (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th)) (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th))))
(/.f64 (-.f64 (pow.f64 (sin.f64 th) #s(literal 2 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64))) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (sin.f64 th) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64))) (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th)))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) (fma.f64 (sin.f64 th) (sin.f64 th) (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (sin.f64 th) #s(literal 3 binary64))) (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th)) (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64))) (fma.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (sin.f64 th) #s(literal 3 binary64)))))
(fma.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th)) #s(literal -1/2 binary64) (sin.f64 th))
(fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx)) kx (sin.f64 th))
(fma.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (sin.f64 th) (sin.f64 th))
(fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx) (sin.f64 th))
(fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) kx) (*.f64 kx (sin.f64 th))) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (sin.f64 th))
(fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sin.f64 th))
(fma.f64 (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) (sin.f64 th))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 th) (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64))) (sin.f64 th))
(fma.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (sin.f64 th))
(fma.f64 kx (*.f64 (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th))
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th))) (/.f64 (pow.f64 (sin.f64 th) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th))))
(+.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))) (sin.f64 th))
(+.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th))))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (cos.f64 ky) #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) ky)) #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) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) ky))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 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))) (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 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 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) ky)) #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) ky)))) #s(literal -1 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 (*.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))) (*.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (pow.f64 (cos.f64 ky) #s(literal 4 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal 4 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 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/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(/.f64 (neg.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)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 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/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 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 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 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/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) ky)) #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) ky)))))
(fma.f64 (neg.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) (neg.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(-.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(-.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(-.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)))
(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 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64)) #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)))
(+.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))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sin.f64 th)))
(*.f64 #s(literal -1/2 binary64) (sin.f64 th))
(*.f64 (sin.f64 th) #s(literal -1/2 binary64))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (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)) #s(literal 1 binary64)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 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)) (sin.f64 ky)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.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)) #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 (neg.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky))) #s(literal -1 binary64)))
(*.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) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 #s(literal 1 binary64) (*.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) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (pow.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)) #s(literal -1 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)))
(*.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #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 (*.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 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (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 (hypot.f64 (sin.f64 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)) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (neg.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(/.f64 (neg.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.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)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #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 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (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 (/.f64 (neg.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(neg.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #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 (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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))))
(/.f64 (*.f64 th (fma.f64 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 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 (pow.f64 th #s(literal 4 binary64)) #s(literal 1/36 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 th th)))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 th th)) th (*.f64 #s(literal 1 binary64) 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) (*.f64 #s(literal 1 binary64) th))
(+.f64 (*.f64 #s(literal 1 binary64) th) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 (*.f64 (*.f64 (sin.f64 th) ky) ky) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (sin.f64 th) ky)) ky)
(*.f64 (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))
(*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))
(*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))
(*.f64 ky (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (sin.f64 th) ky)))
(/.f64 (*.f64 (fma.f64 (pow.f64 kx #s(literal 4 binary64)) #s(literal 1/36 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 kx #s(literal 6 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (fma.f64 (pow.f64 kx #s(literal 4 binary64)) #s(literal 1/36 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64)))))
(*.f64 (/.f64 kx (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))
(*.f64 (/.f64 kx (-.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)))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (/.f64 kx (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal 2 binary64))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (pow.f64 (pow.f64 kx #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx)
(*.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) (pow.f64 (/.f64 (sin.f64 ky) kx) #s(literal -1 binary64)))
(*.f64 (neg.f64 kx) (pow.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx))
(*.f64 kx (pow.f64 (sin.f64 ky) #s(literal -2 binary64)))
(pow.f64 (/.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx) #s(literal -1 binary64))
(/.f64 (*.f64 kx #s(literal 1 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(/.f64 (/.f64 kx (sin.f64 ky)) (sin.f64 ky))
(/.f64 (neg.f64 (neg.f64 kx)) (neg.f64 (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(/.f64 (neg.f64 kx) (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx))
(/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx)))
(neg.f64 (/.f64 (neg.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(neg.f64 (/.f64 kx (neg.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) kx)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 #s(literal -1 binary64) (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 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(literal -1 binary64)) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (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 (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)) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #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 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (neg.f64 (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (neg.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)))
(*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (pow.f64 (sin.f64 ky) #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (neg.f64 (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (pow.f64 (/.f64 (neg.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(pow.f64 (/.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (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))
(pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)) (sin.f64 ky))
(/.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)))) (*.f64 #s(literal 1 binary64) (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) (/.f64 (/.f64 (sin.f64 ky) (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 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(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)))

eval128.0ms (1.1%)

Memory
11.3MiB live, 205.5MiB allocated
Compiler

Compiled 25 397 to 2 612 computations (89.7% saved)

prune89.0ms (0.8%)

Memory
8.0MiB live, 207.9MiB allocated
Pruning

76 alts after pruning (71 fresh and 5 done)

PrunedKeptTotal
New57433607
Fresh73845
Picked325
Done033
Total58476660
Accuracy
100.0%
Counts
660 → 76
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
47.0%
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
99.7%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
42.4%
(/.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))))
29.5%
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
33.8%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
26.8%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
25.5%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
99.5%
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
51.1%
(/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
51.0%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
40.8%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
18.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
21.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
17.1%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
16.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
69.6%
(*.f64 (pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (sin.f64 th))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
42.4%
(*.f64 (/.f64 (sin.f64 th) (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)))
43.9%
(*.f64 (/.f64 (sin.f64 th) (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 ky))
30.8%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
29.5%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
79.4%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 th))
81.9%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (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)))) (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (sin.f64 th))
38.8%
(*.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))
54.1%
(*.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))
29.5%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
51.0%
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
79.3%
(*.f64 (*.f64 (/.f64 #s(literal -1 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))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
30.8%
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
29.5%
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
25.1%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
25.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
93.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (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))) (sin.f64 th))
18.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
27.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
26.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
12.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
13.6%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky ky))) (sin.f64 th)))
12.4%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
15.4%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
46.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
50.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
46.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
18.1%
#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 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) #s(literal 2 binary64)))))))
43.5%
#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) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))))
18.1%
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
18.2%
#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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
23.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
30.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
6.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
5.6%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
3.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
1.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
18.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
3.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
13.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) th))))
27.6%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
7.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
10.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
2.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))
16.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
17.0%
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) th)))
16.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 th th))))))
16.9%
#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)))
17.0%
#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.8%
#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)))
16.8%
#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)))
16.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
16.8%
#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)) #s(literal 1 binary64)) th)))
8.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 (-.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)))
5.4%
#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)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 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)))))
23.0%
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
Compiler

Compiled 5 423 to 3 546 computations (34.6% saved)

simplify153.0ms (1.3%)

Memory
2.0MiB live, 205.8MiB 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
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
cost-diff0
#s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))
cost-diff0
(fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
cost-diff128
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))
cost-diff0
#s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx))
cost-diff0
(/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))
cost-diff0
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky)))
cost-diff0
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
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 kx) (sin.f64 ky))
cost-diff0
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
cost-diff0
(sin.f64 ky)
cost-diff384
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071582
0108562
1183562
2314548
3620548
41341540
51778540
62430540
73152540
83322540
93733540
104126540
114602540
126976540
08401521
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(sin.f64 ky)
ky
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
(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)) #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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky)))
(/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))
#s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)
(*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx)
(*.f64 #s(literal -1/2 binary64) (sin.f64 th))
#s(literal -1/2 binary64)
(sin.f64 th)
th
kx
(*.f64 ky ky)
ky
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
(fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
#s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))
(*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)
(fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64))
(fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64))
(*.f64 th th)
th
#s(literal -1/240 binary64)
#s(literal 1/12 binary64)
#s(literal -1/2 binary64)
(*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))
kx
(/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal 2 binary64) ky))
(*.f64 #s(literal 2 binary64) ky)
#s(literal 2 binary64)
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) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) th)
(sin.f64 ky)
ky
th
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx
Outputs
(/.f64 (sin.f64 ky) (/.f64 (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))))
(sin.f64 ky)
ky
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
(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)) #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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky)))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/2 binary64))) (*.f64 ky ky)))
(/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))
(/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/2 binary64))) (*.f64 ky ky))
#s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx))
#s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)
(*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/2 binary64))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx)
(*.f64 #s(literal -1/2 binary64) (sin.f64 th))
#s(literal -1/2 binary64)
(sin.f64 th)
th
kx
(*.f64 ky ky)
ky
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (/.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) (*.f64 kx kx) (sin.f64 th)))
(fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
(fma.f64 (/.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) (*.f64 kx kx) (sin.f64 th))
#s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))
#s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))
(*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)
(*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)
(fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64))
(fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64))
(fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64))
(fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64))
(*.f64 th th)
th
#s(literal -1/240 binary64)
#s(literal 1/12 binary64)
#s(literal -1/2 binary64)
(*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))))
(/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))
kx
(/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))
(/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #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)))
(fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))
(cos.f64 (*.f64 #s(literal 2 binary64) ky))
(*.f64 #s(literal 2 binary64) ky)
#s(literal 2 binary64)
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) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 th (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 th (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) th)
(*.f64 th (sin.f64 ky))
(sin.f64 ky)
ky
th
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx

localize278.0ms (2.4%)

Memory
7.7MiB live, 399.4MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.078125
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
accuracy0.140625
(*.f64 (sin.f64 ky) th)
accuracy2.8268061094076624
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
accuracy31.319888231968083
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
accuracy4.830986651037531
(fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
accuracy12.97825191200341
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))
accuracy31.29182047798421
#s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))
accuracy46.59103330069831
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
accuracy9.399564283892696
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky)))
accuracy28.955431742355998
(/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))
accuracy33.57752345397953
#s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx))
accuracy46.59103330069831
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
accuracy0.21875
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
accuracy31.27391694725741
#s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th))
accuracy32.02112088164308
#s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
accuracy44.24692519517099
#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.0078125
(sin.f64 ky)
accuracy0.078125
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
accuracy0.22332001953688402
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
accuracy0.27962875976844204
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
Samples
88.0ms85×1valid
83.0ms157×0valid
38.0ms14×2valid
Compiler

Compiled 978 to 135 computations (86.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 176.0ms
ival-mult: 50.0ms (28.3% of total)
ival-sin: 31.0ms (17.6% of total)
ival-add: 25.0ms (14.2% of total)
ival-cos: 19.0ms (10.8% of total)
ival-div: 15.0ms (8.5% of total)
const: 12.0ms (6.8% of total)
adjust: 8.0ms (4.5% of total)
ival-pow2: 6.0ms (3.4% of total)
ival-hypot: 5.0ms (2.8% of total)
ival-sub: 2.0ms (1.1% of total)
ival-sqrt: 2.0ms (1.1% of total)
exact: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series90.0ms (0.8%)

Memory
2.8MiB live, 81.1MiB allocated
Counts
20 → 111
Calls
Call 1
Inputs
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(sin.f64 ky)
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
#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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky)))
(/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))
#s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
(fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
#s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) th)
(*.f64 (*.f64 th th) #s(literal -1/6 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 ky) (sin th))
(+ (* 1/2 (/ (pow kx 2) (* (sin ky) (sin th)))) (/ (sin ky) (sin th)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (* (sin ky) (sin th)))) (* 1/2 (/ 1 (* (sin ky) (sin th)))))) (/ (sin ky) (sin th)))
(+ (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (* (sin ky) (sin th)))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (* (sin ky) (sin th)))))) (* 1/2 (/ 1 (* (sin ky) (sin th)))))) (/ (sin ky) (sin th)))
(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) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (* -1/6 (sin th)))))
(* (pow ky 2) (sin th))
(+ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (* (pow ky 2) (sin th)))
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky)))))))
th
(+ th (* -1/2 (/ (* (pow kx 2) th) (pow (sin ky) 2))))
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* th (* (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 (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (/ 1 (sin th)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(/ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (pow ky 2))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (+ (* -1/6 (sin th)) (/ (sin th) (pow kx 2)))))
(* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th)))))
(* (pow kx 2) (+ (* -1/2 (sin th)) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2)))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky))))))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (/ (sin th) (pow kx 2))))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(/ (* ky (sin th)) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* (sin kx) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8)))))))) (+ (* -1/12 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ (sin th) (pow (sin kx) 3))) (* -1/5040 (/ (sin th) (sin kx)))))))))))))) (/ (sin th) (sin kx))))
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 th))
(+ (* 1/2 (/ (pow ky 2) (* (sin kx) (sin th)))) (/ (sin kx) (sin th)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2))))) (* (sin kx) (sin th)))) (* 1/2 (/ 1 (* (sin kx) (sin th)))))) (/ (sin kx) (sin th)))
(+ (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (* (sin kx) (sin th)))) (* 1/2 (/ (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2))))) (* (sin kx) (sin th)))))) (* 1/2 (/ 1 (* (sin kx) (sin th)))))) (/ (sin kx) (sin th)))
(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))))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(* -1/2 (* (pow kx 2) (sin th)))
(+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(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))))
(/ (* ky th) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (* -1/6 (/ th (sin kx))))) (/ th (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ th (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (+ (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* th (* (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 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ th (pow (sin kx) 3))) (* -1/5040 (/ th (sin kx)))))))))))))) (/ th (sin kx))))
(* 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)))))))
(* (sin th) (+ 1 (* -1/6 (pow kx 2))))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(* (pow ky 2) (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(- 1/2 (* 1/2 (cos (* 2 ky))))
(* th (sin ky))
(* 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))))))))))))
(* (/ 1 th) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* 1/6 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) th)
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* (pow th 2) (+ (* 7/360 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 1/6 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) th)
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* (pow th 2) (+ (* 1/6 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* 31/15120 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 7/360 (sqrt (+ (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)))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(/ (* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (* 1/12 (/ (pow kx 2) (pow ky 2))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (* 1/120 (+ 1 (* -1/6 (pow kx 2))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (+ (* 1/120 (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/5040 (+ 1 (* -1/6 (pow kx 2)))) (* 1/10080 (/ (pow kx 2) (pow ky 2))))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/12 (pow kx 2)))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (+ (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/10080 (pow kx 2)))))))))))))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/5040)))))) 1/6)))))
(* -1/2 th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/2))
(* -1/6 (pow th 2))
(* -1/6 (pow th 3))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(* -1/2 (sin th))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
Calls

9 calls:

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

simplify293.0ms (2.5%)

Memory
0.6MiB live, 241.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06413338
121133177
278923171
088912873
Stop Event
iter limit
node limit
Counts
111 → 109
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 ky) (sin th))
(+ (* 1/2 (/ (pow kx 2) (* (sin ky) (sin th)))) (/ (sin ky) (sin th)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (* (sin ky) (sin th)))) (* 1/2 (/ 1 (* (sin ky) (sin th)))))) (/ (sin ky) (sin th)))
(+ (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (* (sin ky) (sin th)))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (* (sin ky) (sin th)))))) (* 1/2 (/ 1 (* (sin ky) (sin th)))))) (/ (sin ky) (sin th)))
(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) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (* -1/6 (sin th)))))
(* (pow ky 2) (sin th))
(+ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (* (pow ky 2) (sin th)))
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky)))))))
th
(+ th (* -1/2 (/ (* (pow kx 2) th) (pow (sin ky) 2))))
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* th (* (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 (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))
(* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(* (/ 1 (sin th)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(/ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (pow ky 2))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (+ (* -1/6 (sin th)) (/ (sin th) (pow kx 2)))))
(* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th)))))
(* (pow kx 2) (+ (* -1/2 (sin th)) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2)))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky))))))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (/ (sin th) (pow kx 2))))
(* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
(/ (* ky (sin th)) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* (sin kx) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8)))))))) (+ (* -1/12 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ (sin th) (pow (sin kx) 3))) (* -1/5040 (/ (sin th) (sin kx)))))))))))))) (/ (sin th) (sin kx))))
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 th))
(+ (* 1/2 (/ (pow ky 2) (* (sin kx) (sin th)))) (/ (sin kx) (sin th)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2))))) (* (sin kx) (sin th)))) (* 1/2 (/ 1 (* (sin kx) (sin th)))))) (/ (sin kx) (sin th)))
(+ (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (* (sin kx) (sin th)))) (* 1/2 (/ (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2))))) (* (sin kx) (sin th)))))) (* 1/2 (/ 1 (* (sin kx) (sin th)))))) (/ (sin kx) (sin th)))
(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))))))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(* -1/2 (* (pow kx 2) (sin th)))
(+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(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))))
(/ (* ky th) (sin kx))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (* -1/6 (/ th (sin kx))))) (/ th (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ th (sin kx))))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (+ (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* th (* (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 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ th (pow (sin kx) 3))) (* -1/5040 (/ th (sin kx)))))))))))))) (/ th (sin kx))))
(* 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)))))))
(* (sin th) (+ 1 (* -1/6 (pow kx 2))))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(* (pow ky 2) (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(- 1/2 (* 1/2 (cos (* 2 ky))))
(* th (sin ky))
(* 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))))))))))))
(* (/ 1 th) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* 1/6 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) th)
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* (pow th 2) (+ (* 7/360 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 1/6 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) th)
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* (pow th 2) (+ (* 1/6 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* 31/15120 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 7/360 (sqrt (+ (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)))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(/ (* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (* 1/12 (/ (pow kx 2) (pow ky 2))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (* 1/120 (+ 1 (* -1/6 (pow kx 2))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (+ (* 1/120 (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/5040 (+ 1 (* -1/6 (pow kx 2)))) (* 1/10080 (/ (pow kx 2) (pow ky 2))))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/12 (pow kx 2)))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))))
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (+ (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/10080 (pow kx 2)))))))))))))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))) 1/6)))))
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/5040)))))) 1/6)))))
(* -1/2 th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/2))
(* -1/6 (pow th 2))
(* -1/6 (pow th 3))
(* (pow th 3) (- (/ 1 (pow th 2)) 1/6))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(* -1/2 (sin th))
(* -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 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)) (*.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 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.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 (fma.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 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)))) (sin.f64 th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (*.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 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (*.f64 kx kx) (sin.f64 th))
(/ (sin ky) (sin th))
(/.f64 (sin.f64 ky) (sin.f64 th))
(+ (* 1/2 (/ (pow kx 2) (* (sin ky) (sin th)))) (/ (sin ky) (sin th)))
(fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 th)) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) (/.f64 (sin.f64 ky) (sin.f64 th)))
(+ (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (* (sin ky) (sin th)))) (* 1/2 (/ 1 (* (sin ky) (sin th)))))) (/ (sin ky) (sin th)))
(fma.f64 (fma.f64 (/.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)) (sin.f64 th)) (*.f64 kx (/.f64 kx (sin.f64 ky))) (/.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 th)) (sin.f64 ky))) (*.f64 kx kx) (/.f64 (sin.f64 ky) (sin.f64 th)))
(+ (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (* (sin ky) (sin th)))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (* (sin ky) (sin th)))))) (* 1/2 (/ 1 (* (sin ky) (sin th)))))) (/ (sin ky) (sin th)))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (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)) (*.f64 (/.f64 kx (sin.f64 th)) (/.f64 kx (sin.f64 ky)))) #s(literal 1/2 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)) (*.f64 (sin.f64 th) (sin.f64 ky)))) (*.f64 kx kx) (/.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 th)) (sin.f64 ky))) (*.f64 kx kx) (/.f64 (sin.f64 ky) (sin.f64 th)))
(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 (fma.f64 (/.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)) (sin.f64 ky)) (*.f64 kx kx) (/.f64 #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 (fma.f64 (*.f64 (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)) (*.f64 kx (/.f64 kx (sin.f64 ky)))) #s(literal 1/2 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)) (sin.f64 ky))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky))
(+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (* -1/6 (sin th)))))
(fma.f64 (fma.f64 (/.f64 (sin.f64 th) ky) (/.f64 #s(literal -1/2 binary64) ky) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))) (*.f64 kx kx) (sin.f64 th))
(* (pow ky 2) (sin th))
(*.f64 (*.f64 (sin.f64 th) ky) ky)
(+ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (* (pow ky 2) (sin th)))
(fma.f64 (*.f64 (sin.f64 th) ky) ky (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx)))
(+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky)))))))
(fma.f64 (/.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal -1/2 binary64) (sin.f64 th))
th
(+ th (* -1/2 (/ (* (pow kx 2) th) (pow (sin ky) 2))))
(fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) th) (*.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 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 kx kx) th)
(+ th (* (pow kx 2) (+ (* -1/2 (/ th (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* th (* (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 (* th (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (+.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)))) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) th) (*.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 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 kx kx) th)
(* (* (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 th)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2)))
(*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (/ (sin th) (pow kx 2))))
(*.f64 (fma.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (/.f64 (/.f64 (sin.f64 th) kx) kx)) (*.f64 kx kx))
(/ (* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th))))) (pow ky 2))
(/.f64 (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx)) (*.f64 ky ky))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow ky 2))) (+ (* -1/6 (sin th)) (/ (sin th) (pow kx 2)))))
(*.f64 (fma.f64 (/.f64 (sin.f64 th) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 #s(literal -1/6 binary64) (sin.f64 th) (/.f64 (/.f64 (sin.f64 th) kx) kx))) (*.f64 kx kx))
(* (pow kx 2) (+ (* -1/2 (sin th)) (* -1/6 (* (pow ky 2) (sin th)))))
(*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))
(* (pow kx 2) (+ (* -1/2 (sin th)) (+ (* -1/6 (* (pow ky 2) (sin th))) (/ (* (pow ky 2) (sin th)) (pow kx 2)))))
(*.f64 (fma.f64 (/.f64 (*.f64 (sin.f64 th) ky) kx) (/.f64 ky kx) (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64)))) (*.f64 kx kx))
(* -1/2 (/ (* (pow kx 2) (sin th)) (- 1/2 (* 1/2 (cos (* 2 ky))))))
(/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))
(* (pow kx 2) (+ (* -1/2 (/ (sin th) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (/ (sin th) (pow kx 2))))
(*.f64 (fma.f64 (/.f64 (sin.f64 th) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal -1/2 binary64) (/.f64 (/.f64 (sin.f64 th) kx) kx)) (*.f64 kx kx))
(* (* 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))))))
(/ (* 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))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (sin.f64 th) (/.f64 #s(literal -1/6 binary64) (sin.f64 kx)) (*.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64))))) (*.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))))))))))))) (/ (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 #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 (sin.f64 th) #s(literal 1/120 binary64)) (sin.f64 kx)))) (*.f64 ky ky) (fma.f64 (sin.f64 th) (/.f64 #s(literal -1/6 binary64) (sin.f64 kx)) (*.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.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 #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 (sin.f64 th) #s(literal -1/240 binary64)) (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 (sin.f64 th) #s(literal 1/12 binary64)) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 ky ky) (fma.f64 (sin.f64 th) (/.f64 #s(literal -1/6 binary64) (sin.f64 kx)) (*.f64 (sin.f64 th) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 kx) #s(literal 3 binary64)))))) (*.f64 (sin.f64 th) (/.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)
(/ (sin kx) (sin th))
(/.f64 (sin.f64 kx) (sin.f64 th))
(+ (* 1/2 (/ (pow ky 2) (* (sin kx) (sin th)))) (/ (sin kx) (sin th)))
(fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 th)) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (/.f64 (sin.f64 kx) (sin.f64 th)))
(+ (* (pow ky 2) (+ (* -1/2 (/ (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2))))) (* (sin kx) (sin th)))) (* 1/2 (/ 1 (* (sin kx) (sin th)))))) (/ (sin kx) (sin th)))
(fma.f64 (fma.f64 (/.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)) (sin.f64 th)) (*.f64 ky (/.f64 ky (sin.f64 kx))) (/.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 th)) (sin.f64 kx))) (*.f64 ky ky) (/.f64 (sin.f64 kx) (sin.f64 th)))
(+ (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (* (sin kx) (sin th)))) (* 1/2 (/ (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2))))) (* (sin kx) (sin th)))))) (* 1/2 (/ 1 (* (sin kx) (sin th)))))) (/ (sin kx) (sin th)))
(fma.f64 (fma.f64 (fma.f64 (*.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)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 2/45 binary64)) (*.f64 (/.f64 ky (sin.f64 th)) (/.f64 ky (sin.f64 kx)))) #s(literal 1/2 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)) (*.f64 (sin.f64 th) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 th)) (sin.f64 kx))) (*.f64 ky ky) (/.f64 (sin.f64 kx) (sin.f64 th)))
(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 (fma.f64 (/.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)) (sin.f64 kx)) (*.f64 ky ky) (/.f64 #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 (fma.f64 (*.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)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))) #s(literal 1/2 binary64) #s(literal 2/45 binary64)) (*.f64 ky (/.f64 ky (sin.f64 kx)))) #s(literal 1/2 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)) (sin.f64 kx))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx))
(* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2)))
(*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (* -1/6 (* (pow kx 2) (sin th)))))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 (sin.f64 th) ky) ky (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* 1/2 (* (pow ky 2) (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th)))))))))) (pow ky 2))
(/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/30 binary64)) (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 ky ky) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (sin th) (+ (* -1/6 (* (pow kx 2) (sin th))) (* (pow ky 2) (+ (* 1/2 (* (pow ky 2) (+ (* -1/315 (* (pow kx 2) (sin th))) (+ (* 2/135 (* (pow kx 2) (sin th))) (* 1/3 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))) (* 1/2 (+ (* -1/9 (* (pow kx 2) (sin th))) (* 2/45 (* (pow kx 2) (sin th))))))))))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (fma.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal 11/945 binary64) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/45 binary64))) (*.f64 (*.f64 (*.f64 (sin.f64 th) kx) kx) #s(literal -1/30 binary64))) (*.f64 ky ky) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))) (*.f64 ky ky))) (*.f64 ky ky))
(/ (+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(/.f64 (fma.f64 (*.f64 (sin.f64 th) ky) ky (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))
(* -1/2 (* (pow kx 2) (sin th)))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)
(+ (* -1/2 (* (pow kx 2) (sin th))) (* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(fma.f64 (*.f64 (sin.f64 th) ky) ky (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx)))
(pow ky 2)
(*.f64 ky ky)
(* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 ky ky) #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 #s(literal -1/315 binary64) (*.f64 ky ky) #s(literal 2/45 binary64)) (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky) ky)
(/ (* ky th) (sin kx))
(*.f64 (/.f64 th (sin.f64 kx)) ky)
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (* -1/6 (/ th (sin kx))))) (/ th (sin kx))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal -1/2 binary64))) (*.f64 (/.f64 th (sin.f64 kx)) ky))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ th (sin kx))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 th (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)))) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal 1/120 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal 1/12 binary64)))) (*.f64 ky ky) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal -1/2 binary64)))) (*.f64 (/.f64 th (sin.f64 kx)) ky))
(* ky (+ (* (pow ky 2) (+ (* -1/2 (/ th (pow (sin kx) 3))) (+ (* -1/6 (/ th (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ th (sin kx))) (+ (* 1/12 (/ th (pow (sin kx) 3))) (+ (* 1/2 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* th (* (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 (* th (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ th (pow (sin kx) 3))) (* -1/5040 (/ th (sin kx)))))))))))))) (/ th (sin kx))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal 1/120 binary64) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 th (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))))) (fma.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 th (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)))) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal -1/5040 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal -1/240 binary64))))) (*.f64 ky ky) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 th (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 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal 1/12 binary64))))) (*.f64 ky ky) (fma.f64 (/.f64 th (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (/.f64 th (pow.f64 (sin.f64 kx) #s(literal 3 binary64))) #s(literal -1/2 binary64)))) (*.f64 (/.f64 th (sin.f64 kx)) ky))
(* ky th)
(*.f64 th ky)
(* 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)))))))
(fma.f64 (pow.f64 ky #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 th (fma.f64 #s(literal -1/5040 binary64) (*.f64 ky ky) #s(literal 1/120 binary64))) ky) ky (*.f64 #s(literal -1/6 binary64) th)) (*.f64 th ky))
(* (sin th) (+ 1 (* -1/6 (pow kx 2))))
(*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th))
(+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(fma.f64 (fma.f64 (/.f64 (sin.f64 th) ky) (/.f64 #s(literal -1/2 binary64) ky) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))) (*.f64 kx kx) (sin.f64 th))
(* (pow ky 2) (* (sin th) (+ 1 (* -1/6 (pow kx 2)))))
(*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))
(* (pow ky 2) (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow ky 2))) (* (sin th) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) ky) (/.f64 #s(literal -1/2 binary64) ky) (*.f64 #s(literal -1/6 binary64) (sin.f64 th))) (*.f64 kx kx) (sin.f64 th)) (*.f64 ky ky))
(- 1/2 (* 1/2 (cos (* 2 ky))))
(fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
(* th (sin ky))
(*.f64 (sin.f64 ky) th)
(* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
(*.f64 (*.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 (*.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) (sin.f64 ky) (*.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/120 binary64) (*.f64 (*.f64 (sin.f64 ky) th) th) (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)))) (pow.f64 th #s(literal 3 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)
(* (/ 1 th) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) th)
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* 1/6 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) th)
(/.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th)
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* (pow th 2) (+ (* 7/360 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 1/6 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))) th)
(/.f64 (fma.f64 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (fma.f64 #s(literal 7/360 binary64) (*.f64 th th) #s(literal 1/6 binary64))) (*.f64 th th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th)
(/ (+ (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* (pow th 2) (+ (* 1/6 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (pow th 2) (+ (* 31/15120 (* (pow th 2) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* 7/360 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))) th)
(/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (*.f64 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (fma.f64 #s(literal 31/15120 binary64) (*.f64 th th) #s(literal 7/360 binary64))) (*.f64 th th)) (*.f64 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
#s(literal 1 binary64)
(+ 1 (* -1/6 (pow th 2)))
(fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64))
(* th (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2)))))
(fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (*.f64 th th) (fma.f64 (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (pow (sin ky) 2)))))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 kx kx) (/.f64 #s(literal -1/240 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/120 binary64)) (*.f64 th th) (fma.f64 (*.f64 kx kx) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (pow (sin ky) 2))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (pow (sin ky) 2))) 1/5040)))))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 kx kx) (/.f64 #s(literal 1/10080 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/5040 binary64)) (*.f64 th th) (fma.f64 (*.f64 kx kx) (/.f64 #s(literal -1/240 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1/120 binary64))) (*.f64 th th) (fma.f64 (*.f64 kx kx) (/.f64 #s(literal 1/12 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 (*.f64 kx kx) (/.f64 #s(literal -1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) th)
(/ (* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))) (pow ky 2))
(*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (/.f64 th (*.f64 ky ky)))
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (* 1/12 (/ (pow kx 2) (pow ky 2))))) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) kx) ky) (/.f64 kx ky) (fma.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/12 binary64) kx) ky) (/.f64 kx ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)))) th)
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (* 1/120 (+ 1 (* -1/6 (pow kx 2))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) kx) ky) (/.f64 kx ky) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 #s(literal -1/240 binary64) kx) ky) (/.f64 kx ky) (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64))) (*.f64 th th) (fma.f64 (/.f64 (*.f64 #s(literal 1/12 binary64) kx) ky) (/.f64 kx ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)))) (*.f64 th th) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)))) th)
(* th (+ (* -1/2 (/ (pow kx 2) (pow ky 2))) (+ (* (pow th 2) (+ (* -1/6 (+ 1 (* -1/6 (pow kx 2)))) (+ (* 1/12 (/ (pow kx 2) (pow ky 2))) (* (pow th 2) (+ (* -1/240 (/ (pow kx 2) (pow ky 2))) (+ (* 1/120 (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/5040 (+ 1 (* -1/6 (pow kx 2)))) (* 1/10080 (/ (pow kx 2) (pow ky 2))))))))))) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) kx) ky) (/.f64 kx ky) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 #s(literal -1/240 binary64) kx) ky) (/.f64 kx ky) (fma.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/10080 binary64) kx) ky) (/.f64 kx ky) (fma.f64 #s(literal 1/30240 binary64) (*.f64 kx kx) #s(literal -1/5040 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)))) (*.f64 th th) (fma.f64 (/.f64 (*.f64 #s(literal 1/12 binary64) kx) ky) (/.f64 kx ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)))) (*.f64 th th) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)))) th)
(* th (+ (* -1/2 (pow kx 2)) (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/12 (pow kx 2)))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))))))))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/240 binary64) kx) kx (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 ky ky))) (*.f64 th th) (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky)))) (*.f64 th th)))) th)
(* th (+ (* -1/2 (pow kx 2)) (+ (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2)))) (* (pow th 2) (+ (* -1/6 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (+ (* 1/12 (pow kx 2)) (* (pow th 2) (+ (* -1/240 (pow kx 2)) (+ (* 1/120 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* (pow th 2) (+ (* -1/5040 (* (pow ky 2) (+ 1 (* -1/6 (pow kx 2))))) (* 1/10080 (pow kx 2)))))))))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/240 binary64) kx) kx (fma.f64 (fma.f64 (*.f64 #s(literal 1/10080 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/30240 binary64) (*.f64 kx kx) #s(literal -1/5040 binary64)) (*.f64 ky ky))) (*.f64 th th) (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 ky ky)))) (*.f64 th th) (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky)))) (*.f64 th th)))) th)
(* th (+ 1 (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/6)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal 1/12 binary64) #s(literal -1/6 binary64)) (*.f64 th th) (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) th th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky))))))))) 1/6)))))
(fma.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal -1/240 binary64) #s(literal 1/120 binary64)) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal 1/12 binary64) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) th th)
(* th (+ 1 (+ (* -1/2 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (+ (* 1/12 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (+ 1/120 (+ (* -1/240 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (* (pow th 2) (- (* 1/10080 (/ (pow kx 2) (- 1/2 (* 1/2 (cos (* 2 ky)))))) 1/5040)))))) 1/6)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal 1/10080 binary64) #s(literal -1/5040 binary64)) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal -1/240 binary64) #s(literal 1/120 binary64))) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal 1/12 binary64) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) #s(literal -1/2 binary64) #s(literal 1 binary64))) th)
(* -1/2 th)
(*.f64 #s(literal -1/2 binary64) th)
(* th (- (* 1/12 (pow th 2)) 1/2))
(*.f64 (fma.f64 (*.f64 th th) #s(literal 1/12 binary64) #s(literal -1/2 binary64)) th)
(* th (- (* (pow th 2) (+ 1/12 (* -1/240 (pow th 2)))) 1/2))
(*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)
(* th (- (* (pow th 2) (+ 1/12 (* (pow th 2) (- (* 1/10080 (pow th 2)) 1/240)))) 1/2))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/10080 binary64) (*.f64 th th) #s(literal -1/240 binary64)) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)
(* -1/6 (pow th 2))
(*.f64 (*.f64 th th) #s(literal -1/6 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))
(*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64)))
(* (pow th 2) (- (/ 1 (pow th 2)) 1/6))
(*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) th) th)
(* -1/2 (sin th))
(*.f64 #s(literal -1/2 binary64) (sin.f64 th))
(* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))
(*.f64 (neg.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 (/.f64 #s(literal 1 binary64) th) th))) (pow.f64 th #s(literal 3 binary64)))

rewrite295.0ms (2.6%)

Memory
-8.1MiB live, 269.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071453
0108421
1389421
22478413
08357399
Stop Event
iter limit
node limit
iter limit
Counts
20 → 218
Calls
Call 1
Inputs
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(sin.f64 ky)
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
#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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky)))
(/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))
#s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
(fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
#s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) th)
(*.f64 (*.f64 th th) #s(literal -1/6 binary64))
Outputs
(*.f64 (/.f64 (sin.f64 ky) #s(literal 1 binary64)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (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 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (/.f64 (pow.f64 (sin.f64 th) #s(literal -1 binary64)) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (pow.f64 (sin.f64 ky) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (neg.f64 (sin.f64 ky)) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 th))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(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 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (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) #s(literal 1 binary64)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.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) #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 (neg.f64 (neg.f64 (sin.f64 ky))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.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 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (sin.f64 ky)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 th))))
(/.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 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (sin.f64 th) #s(literal -1 binary64)))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(neg.f64 (/.f64 (neg.f64 (sin.f64 ky)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))))
(neg.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 th)))))
(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 (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)))
(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))
(sin.f64 ky)
(exp.f64 (log.f64 (sin.f64 ky)))
(*.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 th)) #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 th) #s(literal -1 binary64)))
(*.f64 (pow.f64 (sin.f64 th) #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 th) #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 th)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (pow.f64 (sin.f64 th) #s(literal -1 binary64)))
(pow.f64 (/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (sin.f64 th) (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 th)) #s(literal 1 binary64))
(/.f64 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 1 binary64)) (sin.f64 th))
(/.f64 (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (neg.f64 (sin.f64 th))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (neg.f64 (sin.f64 th)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (sin.f64 th) (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 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))
(neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 th))))
(exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(literal -1 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 (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 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 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #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)))
(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 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 (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 6 binary64)) (pow.f64 (sin.f64 kx) #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 ky) (sin.f64 kx)) #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) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64) (*.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))) (sqrt.f64 (*.f64 (pow.f64 (cos.f64 ky) #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) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) 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 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (pow.f64 (cos.f64 ky) #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) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) ky)) #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) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) 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 (-.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))) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (-.f64 (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 (-.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 ky) (sin.f64 kx)) #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 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 6 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))))))
(sqrt.f64 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(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)))
#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)
(*.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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 ky #s(literal -2 binary64)) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))))))
#s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (pow.f64 ky #s(literal -2 binary64)) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))))
(*.f64 (pow.f64 ky #s(literal -1 binary64)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky))
(*.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) (pow.f64 ky #s(literal -1 binary64)))
(*.f64 (pow.f64 ky #s(literal -2 binary64)) (pow.f64 (pow.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 ky #s(literal -2 binary64)) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))))
(*.f64 (neg.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))) (pow.f64 (*.f64 (neg.f64 ky) ky) #s(literal -1 binary64)))
(*.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) (pow.f64 ky #s(literal -2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (pow.f64 ky #s(literal -2 binary64)) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))))
(pow.f64 (/.f64 ky (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky)) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 (*.f64 ky ky) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (*.f64 ky ky) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))) #s(literal -1 binary64))
(/.f64 (*.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) #s(literal 1 binary64)) (*.f64 ky ky))
(/.f64 (neg.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky)) (neg.f64 ky))
(/.f64 (neg.f64 (neg.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))))) (neg.f64 (*.f64 (neg.f64 ky) ky)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (*.f64 ky ky) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))))))
(/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)
(/.f64 (neg.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))) (*.f64 (neg.f64 ky) ky))
(/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) (*.f64 ky ky))
(/.f64 #s(literal 1 binary64) (/.f64 ky (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (*.f64 ky ky) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 ky ky) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))))
(neg.f64 (/.f64 (neg.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))) (*.f64 ky ky)))
(neg.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) (*.f64 (neg.f64 ky) ky)))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 ky ky) #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))))) #s(literal -1 binary64)))
#s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (cos.f64 ky) #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) ky)) #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) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) ky))) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (fma.f64 #s(literal -1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 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))) (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal -1 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 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) ky)) #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) ky)))) #s(literal -1 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 (*.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))) (*.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (pow.f64 (cos.f64 ky) #s(literal 4 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (*.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (pow.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal 4 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 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/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(/.f64 (neg.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)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))) #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 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/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 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 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 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/8 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #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) ky)) #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) ky)))))
(fma.f64 #s(literal -1 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/2 binary64) (neg.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky))) #s(literal 1/2 binary64))
(fma.f64 #s(literal -1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))
(-.f64 (/.f64 #s(literal 1/4 binary64) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64))))
(-.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)) (pow.f64 (cos.f64 ky) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(-.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)))
(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 (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64)) #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)))
(+.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))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (sin.f64 th)))
(*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64))) (pow.f64 (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th))) #s(literal -1 binary64)))
(*.f64 (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 3 binary64))) (pow.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64))) #s(literal -1 binary64)))
(pow.f64 (/.f64 (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th))) (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 3 binary64)))) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)) (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th)))) (*.f64 (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th))) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))) (*.f64 (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th))) (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 th) #s(literal 2 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64))) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64))) (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th))))
(/.f64 (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 3 binary64))) (fma.f64 (sin.f64 th) (sin.f64 th) (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (*.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (sin.f64 th))))))
(/.f64 (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 3 binary64))) (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th))) (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)) (pow.f64 (sin.f64 th) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (sin.f64 th) (-.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)))) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64))) (+.f64 (pow.f64 (sin.f64 th) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 3 binary64)))))
(fma.f64 (*.f64 (*.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) kx) kx) (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) (sin.f64 th))
(fma.f64 (*.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx)) kx (sin.f64 th))
(fma.f64 (*.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) kx) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx) (sin.f64 th))
(fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (sin.f64 th))
(fma.f64 (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx) (*.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) kx) (sin.f64 th))
(fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) (sin.f64 th))
(fma.f64 kx (*.f64 (*.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64)) kx) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) (sin.f64 th))
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) #s(literal 2 binary64)) (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th)))) (/.f64 (pow.f64 (sin.f64 th) #s(literal 2 binary64)) (fma.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (neg.f64 (sin.f64 th)))))
(+.f64 (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))) (sin.f64 th))
(+.f64 (sin.f64 th) (*.f64 (pow.f64 (/.f64 kx (sin.f64 ky)) #s(literal 2 binary64)) #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))))
#s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 #s(literal -1/240 binary64) (*.f64 th th) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 th (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (*.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 th (sin.f64 ky)))
(*.f64 (*.f64 (neg.f64 th) (sin.f64 ky)) (pow.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64)))
(*.f64 (*.f64 th (sin.f64 ky)) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (*.f64 th (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 th (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 th (sin.f64 ky))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 th (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (*.f64 (*.f64 th (sin.f64 ky)) #s(literal 1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (neg.f64 (*.f64 (neg.f64 th) (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)) (*.f64 th (sin.f64 ky)))))
(/.f64 (*.f64 (neg.f64 th) (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 th (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 th (sin.f64 ky))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 th (sin.f64 ky))))
(neg.f64 (/.f64 (*.f64 (neg.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(neg.f64 (/.f64 (*.f64 th (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 th (sin.f64 ky)))) #s(literal -1 binary64)))
(*.f64 th (sin.f64 ky))
(*.f64 (sin.f64 ky) th)
(*.f64 (*.f64 #s(literal -1/6 binary64) th) th)
(*.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))

eval61.0ms (0.5%)

Memory
-7.9MiB live, 149.1MiB allocated
Compiler

Compiled 18 172 to 1 785 computations (90.2% saved)

prune141.0ms (1.2%)

Memory
14.3MiB live, 260.2MiB allocated
Pruning

81 alts after pruning (74 fresh and 7 done)

PrunedKeptTotal
New36229391
Fresh214566
Picked235
Done145
Total38681467
Accuracy
100.0%
Counts
467 → 81
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.0%
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
99.7%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
42.4%
(/.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.8%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
25.5%
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
79.4%
(/.f64 (sin.f64 ky) (/.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 th)))
29.5%
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
99.4%
(/.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
99.4%
(/.f64 (sin.f64 ky) (*.f64 (pow.f64 (sin.f64 th) #s(literal -1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
51.1%
(/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
51.0%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
40.8%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
18.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
21.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
16.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
42.4%
(*.f64 (/.f64 (sin.f64 th) (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)))
43.9%
(*.f64 (/.f64 (sin.f64 th) (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 ky))
30.8%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (sin.f64 ky))
29.5%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (sin.f64 ky))
79.4%
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 th))
38.8%
(*.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))
54.1%
(*.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))
29.5%
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
51.0%
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
79.3%
(*.f64 (*.f64 (/.f64 #s(literal -1 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))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
30.8%
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
29.5%
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
25.1%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
25.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
18.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
27.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
26.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
12.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
13.6%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky ky))) (sin.f64 th)))
12.4%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
15.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
15.4%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
46.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
19.4%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
19.4%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
40.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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))))
22.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
15.6%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
23.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
17.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
18.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
46.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
18.1%
#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 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) #s(literal 2 binary64)))))))
43.5%
#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) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))))
18.1%
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
18.2%
#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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
23.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
16.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
30.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
16.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
5.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
6.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
15.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
5.6%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
3.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
1.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
18.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
4.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
13.9%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) th))))
27.6%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
10.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
2.7%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
16.9%
#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)))
17.0%
#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.8%
#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)))
16.8%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
8.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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) th) th)) th)))
8.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 (-.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)))
17.3%
#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)))
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)))))
5.4%
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
23.0%
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
Compiler

Compiled 7 636 to 2 624 computations (65.6% saved)

regimes354.0ms (3.1%)

Memory
-0.4MiB live, 552.1MiB allocated
Counts
121 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
(*.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 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.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))))
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
#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) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))))
(/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) #s(literal 2 binary64)))))))
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 th))
(/.f64 (sin.f64 ky) (/.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 th)))
(*.f64 (*.f64 (/.f64 #s(literal -1 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))) (neg.f64 (sin.f64 ky))) (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 (*.f64 (/.f64 #s(literal -1 binary64) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) (sin.f64 th))
(/.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#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 (sin.f64 ky) (*.f64 (pow.f64 (sin.f64 th) #s(literal -1 binary64)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.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 #s(approx (/ (sin ky) (sqrt (+ (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))) (sin.f64 th))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 ky)) (/.f64 (sqrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (sin.f64 th))
(*.f64 (pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (sin.f64 th))
(*.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 8 binary64)) (pow.f64 (sin.f64 ky) #s(literal 8 binary64))) (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)))) (hypot.f64 (pow.f64 (sin.f64 ky) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (sin.f64 th))
Outputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
Calls

9 calls:

55.0ms
ky
41.0ms
kx
39.0ms
th
37.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)))))
36.0ms
(sin.f64 kx)
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)

regimes359.0ms (3.1%)

Memory
-13.4MiB live, 459.8MiB allocated
Counts
109 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
(*.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 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.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))))
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
#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) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))))
(/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) #s(literal 2 binary64)))))))
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 th))
(/.f64 (sin.f64 ky) (/.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 th)))
(*.f64 (*.f64 (/.f64 #s(literal -1 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))) (neg.f64 (sin.f64 ky))) (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)))
Outputs
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
Calls

9 calls:

66.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
58.0ms
kx
37.0ms
(sin.f64 ky)
36.0ms
(sin.f64 th)
33.0ms
th
Results
AccuracySegmentsBranch
99.6%1kx
99.6%1ky
99.6%1th
99.6%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.6%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.6%1(sin.f64 ky)
99.6%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
99.6%1(sin.f64 kx)
99.6%1(sin.f64 th)
Compiler

Compiled 42 to 51 computations (-21.4% saved)

regimes318.0ms (2.8%)

Memory
2.4MiB live, 442.5MiB allocated
Counts
106 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
(*.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 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.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))))
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
#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) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))))
(/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) #s(literal 2 binary64)))))))
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 th))
(/.f64 (sin.f64 ky) (/.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 th)))
(*.f64 (*.f64 (/.f64 #s(literal -1 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))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
Outputs
(/.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))))
(*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 th))
Calls

9 calls:

47.0ms
th
44.0ms
kx
35.0ms
(sin.f64 kx)
33.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)))))
33.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
93.8%2kx
98.9%2ky
89.7%2th
87.7%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))
99.1%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)))))
98.9%3(sin.f64 ky)
93.8%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
93.8%3(sin.f64 kx)
89.4%3(sin.f64 th)
Compiler

Compiled 42 to 51 computations (-21.4% saved)

regimes273.0ms (2.4%)

Memory
6.0MiB live, 359.0MiB allocated
Counts
103 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
(*.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 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.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))))
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
#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) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))))))
(/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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 #s(approx (sin ky) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal 1 binary64)) ky)) #s(literal 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 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.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))))
(/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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))))
Calls

9 calls:

34.0ms
(sin.f64 th)
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))
30.0ms
ky
30.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)))))
29.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
73.6%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))
75.9%3(sin.f64 th)
77.6%3th
73.4%4(sin.f64 kx)
71.4%2kx
73.1%3(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
87.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)))))
76.3%4(sin.f64 ky)
74.9%3ky
Compiler

Compiled 42 to 51 computations (-21.4% saved)

regimes35.0ms (0.3%)

Memory
14.6MiB live, 51.4MiB allocated
Counts
100 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
(*.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 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.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))))
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
#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) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #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 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.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))))
(*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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))))
Calls

1 calls:

29.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
87.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)

regimes33.0ms (0.3%)

Memory
7.0MiB live, 50.1MiB allocated
Counts
98 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
(*.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 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(/.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))))
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 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.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))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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))))
Calls

1 calls:

27.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
87.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)

regimes34.0ms (0.3%)

Memory
-23.8MiB live, 51.5MiB allocated
Counts
97 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
(*.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 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
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 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
Calls

1 calls:

27.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
87.2%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)

regimes32.0ms (0.3%)

Memory
11.9MiB live, 49.0MiB allocated
Counts
96 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
(*.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))
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 (*.f64 #s(approx (sin th) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 th th) #s(literal 1 binary64)) th)) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
Calls

1 calls:

26.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
87.2%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)

regimes126.0ms (1.1%)

Memory
21.5MiB live, 101.6MiB allocated
Counts
94 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (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)))))
Outputs
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
Calls

3 calls:

52.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)))))
42.0ms
(sin.f64 th)
26.0ms
th
Results
AccuracySegmentsBranch
73.2%4(sin.f64 th)
71.9%2th
78.0%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 16 to 18 computations (-12.5% saved)

regimes65.0ms (0.6%)

Memory
-21.3MiB live, 94.4MiB allocated
Counts
92 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 (sin.f64 th) (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)))
Outputs
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 th) (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 ky))
Calls

2 calls:

31.0ms
ky
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
71.5%2ky
78.0%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 14 to 14 computations (0% saved)

regimes281.0ms (2.4%)

Memory
11.6MiB live, 324.3MiB allocated
Counts
90 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
Outputs
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
Calls

9 calls:

53.0ms
ky
40.0ms
kx
29.0ms
(sin.f64 th)
28.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))
27.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
64.8%3(sin.f64 th)
56.8%3(sin.f64 kx)
63.0%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))
56.8%2kx
58.1%3ky
55.3%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
64.8%2th
57.0%3(sin.f64 ky)
68.3%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 42 to 51 computations (-21.4% saved)

regimes30.0ms (0.3%)

Memory
10.9MiB live, 48.6MiB allocated
Counts
89 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (fma.f64 (pow.f64 ky #s(literal 3 binary64)) #s(literal -1/6 binary64) ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
Calls

1 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)))))
Results
AccuracySegmentsBranch
68.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 13 to 11 computations (15.4% saved)

regimes30.0ms (0.3%)

Memory
17.4MiB live, 53.7MiB allocated
Counts
85 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
Calls

1 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)))))
Results
AccuracySegmentsBranch
68.0%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)

regimes36.0ms (0.3%)

Memory
-33.7MiB live, 48.4MiB allocated
Counts
84 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
Calls

1 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)))))
Results
AccuracySegmentsBranch
68.0%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)

regimes54.0ms (0.5%)

Memory
12.1MiB live, 86.4MiB allocated
Counts
83 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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 (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 th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
Calls

2 calls:

25.0ms
th
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)))))
Results
AccuracySegmentsBranch
54.7%2th
67.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 14 to 14 computations (0% saved)

regimes30.0ms (0.3%)

Memory
23.1MiB live, 58.2MiB allocated
Counts
82 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin 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)))
#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) #s(approx (pow (sin ky) 2) (*.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)))))))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
Calls

1 calls:

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)))))
Results
AccuracySegmentsBranch
67.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 13 to 11 computations (15.4% saved)

regimes228.0ms (2%)

Memory
2.7MiB live, 324.5MiB allocated
Counts
79 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))) (neg.f64 (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal 1 binary64))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) th) ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 th) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)) ky) ky (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sin.f64 ky)) kx) kx (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (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) #s(approx (pow (sin ky) 2) (*.f64 ky ky)))))))
Outputs
(/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Calls

9 calls:

43.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)))))
23.0ms
(sin.f64 th)
23.0ms
kx
23.0ms
th
Results
AccuracySegmentsBranch
36.7%2th
50.4%5(sin.f64 kx)
43.9%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
47.2%2(sin.f64 ky)
44.9%2ky
48.0%4kx
42.9%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))
33.8%1(sin.f64 th)
51.7%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)

regimes23.0ms (0.2%)

Memory
-5.1MiB live, 37.4MiB allocated
Counts
66 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx)) (sin.f64 th)))
Outputs
(/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin 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))
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
51.6%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 13 to 11 computations (15.4% saved)

regimes23.0ms (0.2%)

Memory
-0.5MiB live, 37.4MiB allocated
Counts
65 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (* (sin ky) th) (*.f64 th ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
Outputs
(*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 kx))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Calls

1 calls:

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)))))
Results
AccuracySegmentsBranch
51.6%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 13 to 11 computations (15.4% saved)

regimes21.0ms (0.2%)

Memory
-3.6MiB live, 34.7MiB allocated
Counts
61 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
(/.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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (/.f64 th (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) #s(literal -1/2 binary64)) (*.f64 kx kx) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) 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 ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 #s(literal -1/2 binary64) th)) (*.f64 kx (/.f64 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) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin ky)) (fma.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))) (*.f64 kx kx) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (/.f64 (fma.f64 (*.f64 (*.f64 ky ky) kx) #s(literal 1/3 binary64) kx) ky) ky))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (sin.f64 th) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)) (*.f64 ky ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx #s(approx (pow (sin ky) 2) (*.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)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx #s(approx (/ kx (pow (sin ky) 2)) (/.f64 (fma.f64 (fma.f64 (*.f64 kx #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 #s(literal 1/3 binary64) kx)) (*.f64 ky ky) kx) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) #s(approx (* kx (/ kx (pow (sin ky) 2))) (/.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) #s(literal 1/15 binary64)) (*.f64 ky ky) (*.f64 (*.f64 #s(literal 1/3 binary64) kx) kx)) (*.f64 ky ky) (*.f64 kx kx)) (*.f64 ky ky))) (sin.f64 th)))
Outputs
(/.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)) (sin.f64 th))
Calls

1 calls:

17.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
49.1%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 13 to 11 computations (15.4% saved)

regimes16.0ms (0.1%)

Memory
-16.1MiB live, 22.3MiB allocated
Counts
46 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
(*.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)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2)))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))))
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))
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
49.1%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 13 to 11 computations (15.4% saved)

regimes15.0ms (0.1%)

Memory
31.4MiB live, 31.4MiB allocated
Counts
43 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)) #s(approx (sin th) (*.f64 (fma.f64 (exp.f64 (*.f64 (log.f64 th) #s(literal 2 binary64))) #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)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))))
Outputs
#s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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))
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
47.3%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 13 to 11 computations (15.4% saved)

regimes110.0ms (1%)

Memory
4.7MiB live, 119.2MiB allocated
Counts
39 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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 (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (/ (* (sin ky) th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#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)) (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (pow.f64 th #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) ky) ky)) (*.f64 ky ky))))
#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 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) th) th) #s(literal 1/6 binary64)) (pow.f64 th #s(literal 3 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) kx)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) kx) ky) (/.f64 kx ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64)) ky) (/.f64 (sin.f64 th) ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 kx (*.f64 (sin.f64 th) kx)) #s(literal -1/2 binary64))) ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (fma.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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) -1/2) (* kx (/ kx (- 1/2 (* (cos (* 2 ky)) 1/2))))) (sin th)) (fma.f64 (*.f64 #s(literal -1/2 binary64) th) (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (*.f64 #s(literal 2 binary64) ky)) #s(literal 1/2 binary64)))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 #s(literal -1/6 binary64) (*.f64 ky ky) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (*.f64 (sin.f64 th) (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal -1/2 binary64))) (*.f64 kx kx))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 (*.f64 (sin.f64 th) ky) ky))) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(approx (* (sin th) -1/2) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal -1/240 binary64) #s(literal 1/12 binary64)) (*.f64 th th) #s(literal -1/2 binary64)) th)) (*.f64 kx (/.f64 kx #s(approx (- 1/2 (* (cos (* 2 ky)) 1/2)) (*.f64 ky ky)))) (sin.f64 th)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Calls

6 calls:

43.0ms
kx
16.0ms
(sin.f64 kx)
15.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)))))
11.0ms
(sin.f64 ky)
11.0ms
ky
Results
AccuracySegmentsBranch
35.9%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
35.7%2kx
37.8%2ky
36.0%3(sin.f64 kx)
37.7%2(sin.f64 ky)
42.3%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 23 to 31 computations (-34.8% saved)

regimes57.0ms (0.5%)

Memory
-3.0MiB live, 35.0MiB allocated
Counts
19 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 (/.f64 (*.f64 kx kx) ky) (/.f64 #s(literal -1/2 binary64) ky) (fma.f64 (fma.f64 (/.f64 #s(literal 1/12 binary64) ky) (/.f64 (*.f64 kx kx) ky) (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64))) (*.f64 th th) (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)))) 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

4 calls:

37.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)))))
6.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))
6.0ms
(sin.f64 ky)
6.0ms
ky
Results
AccuracySegmentsBranch
34.0%2(sin.f64 ky)
33.6%2ky
37.1%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))
37.1%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 32 to 31 computations (3.1% saved)

regimes368.0ms (3.2%)

Memory
-170.2MiB live, 67.2MiB allocated
Counts
16 → 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) (*.f64 (+.f64 (*.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) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 #s(literal -1/6 binary64) (*.f64 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 (*.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) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) 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) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 th (/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) (*.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (*.f64 kx kx) #s(literal -1/2 binary64))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) (/.f64 #s(approx (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) kx) kx (fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky) ky (*.f64 (fma.f64 (*.f64 #s(literal 1/12 binary64) kx) kx (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 ky ky))) (*.f64 th th)))) th)) (*.f64 ky ky))))
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

9 calls:

313.0ms
th
18.0ms
(sin.f64 ky)
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
kx
5.0ms
(sin.f64 th)
Results
AccuracySegmentsBranch
20.5%2ky
20.6%2(sin.f64 ky)
19.6%2(sin.f64 kx)
19.4%2(sin.f64 th)
24.3%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))
20.7%2kx
20.7%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
19.5%2th
23.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 42 to 51 computations (-21.4% saved)

regimes11.0ms (0.1%)

Memory
24.0MiB live, 24.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:

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
(sin.f64 th)
1.0ms
(sin.f64 ky)
1.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
Results
AccuracySegmentsBranch
17.3%1(sin.f64 th)
17.3%1th
17.3%1(sin.f64 kx)
17.3%1ky
17.3%1(sin.f64 ky)
17.3%1kx
17.3%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
17.3%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)))))
17.3%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)

bsearch48.0ms (0.4%)

Memory
-11.1MiB live, 27.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
45.0ms
6.308054972260424e-5
0.7963696430129814
Samples
40.0ms128×0valid
Compiler

Compiled 379 to 314 computations (17.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-sin: 31.0ms (85.6% of total)
ival-pow2: 2.0ms (5.5% of total)
ival-div: 1.0ms (2.8% of total)
ival-add: 1.0ms (2.8% of total)
ival-mult: 1.0ms (2.8% of total)
ival-sqrt: 1.0ms (2.8% 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
1.0000056165380304
0.0ms
0.9947818255290916
0.9999999996094946
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.4424933047277975
-0.4055373724054084
0.0ms
-0.9999999999998572
-0.9999846708835508
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch2.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
1.0000056165380304
0.0ms
0.9947818255290916
0.9999999996094946
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.4424933047277975
-0.4055373724054084
0.0ms
-0.9999999999998572
-0.9999846708835508
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch2.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
1.0000056165380304
0.0ms
0.9947818255290916
0.9999999996094946
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.4424933047277975
-0.4055373724054084
0.0ms
-0.9999999999998572
-0.9999846708835508
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch2.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
1.0000056165380304
0.0ms
0.9947818255290916
0.9999999996094946
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.4450649356091166
-0.4424933047277975
0.0ms
-0.9999999999998572
-0.9999846708835508
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch2.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
1.0000056165380304
0.0ms
0.9947818255290916
0.9999999996094946
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.4450649356091166
-0.4424933047277975
0.0ms
-0.9999999999998572
-0.9999846708835508
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
1.0000056165380304
0.0ms
0.9947818255290916
0.9999999996094946
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.4450649356091166
-0.4424933047277975
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch6.0ms (0.1%)

Memory
-37.4MiB live, 1.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0
1.0000056165380304
0.0ms
0.9947818255290916
0.9999999996094946
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.4450649356091166
-0.4424933047277975
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999996094946
0.9999999999995571
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.5629929680722473
-0.4450649356091166
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
0.9999999996094946
0.9999999999995571
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.5629929680722473
-0.4450649356091166
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
0.9999999996094946
0.9999999999995571
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.5629929680722473
-0.4450649356091166
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
0.9999999996094946
0.9999999999995571
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.5629929680722473
-0.4450649356091166
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
0.9999999996094946
0.9999999999995571
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.5629929680722473
-0.4450649356091166
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
0.9999999996094946
0.9999999999995571
0.0ms
0.017560687712785333
0.02040622816525496
0.0ms
-0.5629929680722473
-0.4450649356091166
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
0.06617082064637783
0.08135170823240392
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
0.06617082064637783
0.08135170823240392
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
0.06617082064637783
0.08135170823240392
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
0.017560687712785333
0.02040622816525496
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.017560687712785333
0.02040622816525496
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.017560687712785333
0.02040622816525496
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.102477698214602e-17
5.943392260076405e-13
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.4034376290496256e-36
3.3529978876715754e-26
Compiler

Compiled 19 to 19 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
8.394007e-318
1.9789997331250437e-307
Compiler

Compiled 19 to 19 computations (0% saved)

simplify68.0ms (0.6%)

Memory
1.9MiB live, 46.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02523271
13163270
24423244
37513244
420923232
548963232
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(if (<=.f64 ky #s(literal 7378697629483821/4611686018427387904 binary64)) (/.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)))) (*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 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 -9007109182748445/9007199254740992 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 -7566047373982433/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.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)))) (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 8962163258467287/9007199254740992 binary64)) (/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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)))))))))
(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 -9007109182748445/9007199254740992 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 -7566047373982433/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.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)))) (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 8962163258467287/9007199254740992 binary64)) (*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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)))))))))
(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 -9007109182748445/9007199254740992 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 -7566047373982433/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.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)))) (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 8962163258467287/9007199254740992 binary64)) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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)))))))))
(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 -9007109182748445/9007199254740992 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 -8016407336719483/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (*.f64 (/.f64 (sin.f64 th) (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 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 8962163258467287/9007199254740992 binary64)) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (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 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 -9007109182748445/9007199254740992 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 -8016407336719483/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (*.f64 (/.f64 (sin.f64 th) (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 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 8962163258467287/9007199254740992 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (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 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 -8016407336719483/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (*.f64 (/.f64 (sin.f64 th) (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 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 8962163258467287/9007199254740992 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (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 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 -8016407336719483/18014398509481984 binary64)) (*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (*.f64 (/.f64 (sin.f64 th) (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 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 8962163258467287/9007199254740992 binary64)) (*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (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 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/2 binary64)) (*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) (*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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))) (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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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)))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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 5764607523034235/72057594037927936 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky))) #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 5764607523034235/72057594037927936 binary64)) (/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin 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)))
(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 5764607523034235/72057594037927936 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.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)) (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 5764607523034235/288230376151711744 binary64)) (*.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)))
(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 5764607523034235/288230376151711744 binary64)) #s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)))
(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 6490371073168535/324518553658426726783156020576256 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky))) #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 2993155353253689/1496577676626844588240573268701473812127674924007424 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 2024023/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 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 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(if (<=.f64 ky #s(literal 7378697629483821/4611686018427387904 binary64)) (/.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)))) (*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (fma.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 ky #s(literal 2 binary64)))) #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 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 -9007109182748445/9007199254740992 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 -7566047373982433/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.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)))) (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 8962163258467287/9007199254740992 binary64)) (/.f64 #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)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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)))))))))
(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 -9007109182748445/9007199254740992 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 -7566047373982433/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.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)))) (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 8962163258467287/9007199254740992 binary64)) (*.f64 (/.f64 #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)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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)))))))))
(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 -9007109182748445/9007199254740992 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 -7566047373982433/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.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)))) (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 8962163258467287/9007199254740992 binary64)) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (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)))))))))
(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 -9007109182748445/9007199254740992 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 -8016407336719483/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (*.f64 (/.f64 (sin.f64 th) (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 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 8962163258467287/9007199254740992 binary64)) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (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 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 -9007109182748445/9007199254740992 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 -8016407336719483/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (*.f64 (/.f64 (sin.f64 th) (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 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 8962163258467287/9007199254740992 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (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 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 -8016407336719483/18014398509481984 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (*.f64 (/.f64 (sin.f64 th) (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 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 8962163258467287/9007199254740992 binary64)) (/.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)) (hypot.f64 (sin.f64 kx) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (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 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 -8016407336719483/18014398509481984 binary64)) (*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (*.f64 (/.f64 (sin.f64 th) (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 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 8962163258467287/9007199254740992 binary64)) (*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 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)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/2 binary64)) (*.f64 kx (/.f64 kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (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 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/2 binary64)) (*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) (*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (/.f64 th (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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))) (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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) 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))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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/2 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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 5764607523034235/288230376151711744 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 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 281474976654361/281474976710656 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.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)))) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (+ (* (* (sin th) -1/2) (* kx (/ kx (pow (sin ky) 2)))) (sin th)) #s(approx (/ (+ (* (* -1/2 (* kx kx)) (sin th)) (* (* (+ (* -1/6 (* kx kx)) 1) (sin th)) (* ky ky))) (* ky ky)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 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 5764607523034235/72057594037927936 binary64)) (/.f64 (sin.f64 th) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 kx)) (sin.f64 ky))) #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 5764607523034235/72057594037927936 binary64)) (/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin 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)))
(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 5764607523034235/72057594037927936 binary64)) (/.f64 (sin.f64 ky) (/.f64 #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 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 5764607523034235/72057594037927936 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 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 5764607523034235/72057594037927936 binary64)) (*.f64 (/.f64 (sin.f64 ky) #s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 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 5764607523034235/288230376151711744 binary64)) (/.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)) (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 5764607523034235/288230376151711744 binary64)) (*.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)))
(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 5764607523034235/288230376151711744 binary64)) #s(approx (* (* (/ -1 (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (neg (sin ky))) (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)))
(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 5764607523034235/288230376151711744 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))) #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 6490371073168535/324518553658426726783156020576256 binary64)) #s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (* (* (sin ky) th) (sqrt (/ 1 (+ (* (sin kx) (sin kx)) (pow (sin ky) 2))))) (*.f64 (/.f64 th (sin.f64 kx)) ky))) #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 2993155353253689/1496577676626844588240573268701473812127674924007424 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 2024023/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 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.0s (17.2%)

Memory
16.3MiB live, 1 435.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071453
0108421
1389421
22478413
08357399
06753677
122373528
084003255
03171402
110111353
238651261
378121261
081151188
06413338
121133177
278923171
088912873
036202
059172
1205168
01246168
06373194
120583064
080112851
01349
02249
16249
234449
3297849
0826034
057358
097325
1350319
22235311
09045311
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter 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 6 159 to 1 986 computations (67.8% saved)

preprocess145.0ms (1.3%)

Memory
29.4MiB live, 300.1MiB allocated
Remove

(negabs ky)

(negabs th)

(abs kx)

Compiler

Compiled 6 676 to 574 computations (91.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...