Toniolo and Linder, Equation (3b), real

Time bar (total: 7.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze194.0ms (2.6%)

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

Compiled 18 to 14 computations (22.2% saved)

sample1.8s (24.1%)

Memory
-27.4MiB live, 2 325.2MiB allocated; 440ms collecting garbage
Samples
1.5s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
ival-sin: 701.0ms (60.8% of total)
ival-pow2: 249.0ms (21.6% of total)
ival-sqrt: 90.0ms (7.8% of total)
ival-div!: 50.0ms (4.3% of total)
ival-mult!: 42.0ms (3.6% of total)
ival-add!: 19.0ms (1.6% of total)
adjust: 2.0ms (0.2% of total)
Bogosity

preprocess50.0ms (0.7%)

Memory
3.7MiB live, 49.8MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046163
1159163
2538163
34096163
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
Symmetry

(abs kx)

(negabs ky)

(negabs th)

Compiler

Compiled 30 to 26 computations (13.3% saved)

series35.0ms (0.5%)

Memory
-6.0MiB live, 86.0MiB allocated; 6ms collecting garbage
Counts
13 → 60
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
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (sin th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (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)))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (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))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 1))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole 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))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole 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))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (pow kx 2)))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (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))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* 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))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* 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))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (pow ky 2)))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole 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)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole 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)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole 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))))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
Calls

9 calls:

TimeVariablePointExpression
6.0ms
ky
@0
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)
5.0ms
th
@inf
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)
4.0ms
kx
@-inf
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)
4.0ms
kx
@inf
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)
3.0ms
kx
@0
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)

rewrite343.0ms (4.5%)

Memory
47.9MiB live, 322.6MiB allocated; 56ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04242381
04402250
130392218
0102861918
1348351918
Stop Event
saturated
node-limit
iter-limit
Counts
73 → 135
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
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (sin th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (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)))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (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))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 1))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole 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))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole 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))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (pow kx 2)))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (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))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* 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))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* 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))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (pow ky 2)))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole 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)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole 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)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole 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))))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
Outputs
(*.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 (neg.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (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)))
(sin.f64 ky)
ky
(pow.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
(fabs.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (neg.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(fma.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
(fma.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(fma.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
(fma.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(fma.f64 (sin.f64 kx) (sin.f64 kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
(fma.f64 (sin.f64 ky) (sin.f64 ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(-.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
(*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx)))
(*.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)))
(*.f64 (sin.f64 kx) (sin.f64 kx))
(pow.f64 (fabs.f64 (fabs.f64 (sin.f64 kx))) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 (sin.f64 kx))) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 (sin.f64 kx))) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (sin.f64 kx)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 2 binary64))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 kx kx)) (cos.f64 (+.f64 kx kx))) #s(literal 2 binary64))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))
(sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)))
(fabs.f64 (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
(fabs.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(sin.f64 kx)
kx
#s(literal 2 binary64)
(*.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)))
(*.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(pow.f64 (fabs.f64 (fabs.f64 (sin.f64 ky))) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 (sin.f64 ky))) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky ky)) (cos.f64 (+.f64 ky 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))))
(sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)))
(fabs.f64 (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(fabs.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (*.f64 kx kx) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.f64 (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (*.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)))))) (*.f64 kx kx) (sin.f64 th)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(literal 1 binary64))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 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) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (-.f64 (*.f64 (*.f64 kx kx) (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64)))))) #s(literal -1/2 binary64)))) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sin.f64 ky))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal 1/3 binary64)) (*.f64 kx kx)) #s(literal 1/2 binary64)) (sin.f64 ky)) (*.f64 kx kx) (sin.f64 ky)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64))) (*.f64 kx kx)) (*.f64 #s(literal -1/2 binary64) (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal 1/3 binary64)))) (sin.f64 ky)) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
#s(approx (pow (sin kx) 2) (*.f64 kx kx))
#s(approx (pow (sin kx) 2) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (pow (sin kx) 2) (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (pow (sin kx) 2) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (sin kx) kx)
#s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 ky)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
#s(approx (pow (sin kx) 2) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
#s(approx (sin kx) (sin.f64 kx))
#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)) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) #s(literal 1/2 binary64) (*.f64 #s(literal 1/12 binary64) (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64)))))) (*.f64 ky ky) (/.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal 1/120 binary64) (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 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (sin.f64 th)) (fma.f64 #s(literal -1/12 binary64) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) (fma.f64 #s(literal -1/240 binary64) (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) (/.f64 (*.f64 #s(literal -1/5040 binary64) (sin.f64 th)) (sin.f64 kx))))))))) (*.f64 ky ky) (/.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 ky (neg.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))) (*.f64 ky ky))) (/.f64 ky (sin.f64 kx))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (*.f64 (fma.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/12 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.f64 ky ky)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 ky (*.f64 (*.f64 ky ky) (-.f64 (*.f64 (*.f64 ky ky) (+.f64 (/.f64 #s(literal 1/120 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/12 binary64) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (-.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (fma.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) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))))))) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))))) (/.f64 ky (sin.f64 kx))))
#s(approx (sin ky) ky)
#s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))
#s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 kx)) #s(literal 1/2 binary64) (sin.f64 kx)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) #s(literal 1/3 binary64)) (*.f64 ky ky)) #s(literal 1/2 binary64)) (sin.f64 kx)) (*.f64 ky ky) (sin.f64 kx)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) #s(literal -1/2 binary64))) (*.f64 ky ky)) (*.f64 #s(literal -1/2 binary64) (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))) #s(literal 1/3 binary64)))) (sin.f64 kx)) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 ky ky (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.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)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
#s(approx (pow (sin ky) 2) (*.f64 ky ky))
#s(approx (pow (sin ky) 2) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))
#s(approx (pow (sin ky) 2) (*.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)) (*.f64 ky ky)))
#s(approx (pow (sin ky) 2) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/315 binary64) #s(literal 2/45 binary64)) (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) (*.f64 ky 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) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 ky) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (*.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))))) (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (*.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))))) (*.f64 th th) (*.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))))) (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 ky))) th))
#s(approx (sin th) 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 (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 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))

eval23.0ms (0.3%)

Memory
17.6MiB live, 57.8MiB allocated; 9ms collecting garbage
Compiler

Compiled 1 972 to 748 computations (62.1% saved)

prune48.0ms (0.6%)

Memory
-30.5MiB live, 72.1MiB allocated; 41ms collecting garbage
Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New10224126
Fresh000
Picked101
Done000
Total10324127
Accuracy
99.9%
Counts
127 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
99.6%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
44.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))))) #s(approx (sin th) th))
75.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 th))
84.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
48.0%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
48.0%
(*.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))
39.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
33.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
32.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
36.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 ky ky (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
39.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
30.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))) (sin.f64 th))
44.7%
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) #s(literal 2 binary64))))) (sin.f64 th))
50.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) ky) #s(literal 2 binary64))))) (sin.f64 th))
99.5%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
14.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
27.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
75.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 ky))) (sin.f64 th))
26.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
21.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
37.6%
#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) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))))
75.4%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
31.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Compiler

Compiled 1 050 to 976 computations (7% saved)

series103.0ms (1.4%)

Memory
-5.9MiB live, 182.3MiB allocated; 55ms collecting garbage
Counts
38 → 131
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 ky)
ky
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
kx
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(fma.f64 kx kx (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))
(cos.f64 (*.f64 #s(literal 2 binary64) ky))
(*.f64 #s(literal 2 binary64) ky)
#s(literal 2 binary64)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
(fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))
(*.f64 ky ky)
#s(literal -1/3 binary64)
#s(literal 1 binary64)
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))
(*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))
(cos.f64 (*.f64 #s(literal 2 binary64) kx))
(*.f64 #s(literal 2 binary64) kx)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))
(sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
(+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (sin th)))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (+ (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)))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (+ (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))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 1))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole 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))))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole 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))))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (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))))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (- (+ 1/2 (pow kx 2)) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow kx 2))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (pow kx 2)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 1/2))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 (+ 1/2 (* -1 (pow kx 2)))))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 (+ 1/2 (* (pow kx 2) (- (* 1/3 (pow kx 2)) 1)))))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 (+ 1/2 (* (pow kx 2) (- (* (pow kx 2) (+ 1/3 (* -2/45 (pow kx 2)))) 1)))))
#s(approx (cos (* 2 kx)) #s(hole binary64 (+ 1 (* -2 (pow kx 2)))))
#s(approx (cos (* 2 kx)) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 2/3 (pow kx 2)) 2)))))
#s(approx (cos (* 2 kx)) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/3 (* -4/45 (pow kx 2)))) 2)))))
#s(approx (* 2 kx) #s(hole binary64 (* 2 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (sin th))) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (* (sin ky) (sin th)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* 1/2 (* (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (* (sin ky) (sin th)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 4)))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* 1/2 (* (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* -1/2 (* (* (pow kx 2) (sin ky)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (sin ky) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* 1/2 (* (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (sin ky) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 4))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* 1/2 (* (* (sin ky) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (sqrt (- 1/2 (* 1/2 (cos (* 2 ky)))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))) (* 1/2 (* (pow kx 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))) (* (pow kx 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))) (* 1/2 (* (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (- 1/2 (* 1/2 (cos (* 2 ky)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))) (* 1/2 (cos (* 2 ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (* (pow kx 2) (- (+ 1 (* 1/2 (/ 1 (pow kx 2)))) (* 1/2 (/ (cos (* 2 ky)) (pow kx 2)))))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))) (* 1/2 (cos (* 2 kx))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 kx))))))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 (* 1/2 (cos (* 2 kx)))))
#s(approx (cos (* 2 kx)) #s(hole binary64 (cos (* 2 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (sqrt (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (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))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (* 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))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (* 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))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (pow kx 2) (pow ky 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow kx 2))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (pow ky 2)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* -1 (pow ky 2)))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* 1/3 (pow ky 2)) 1)))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* (pow ky 2) (+ 1/3 (* -2/45 (pow ky 2)))) 1)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* -2 (pow ky 2)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* 2/3 (pow ky 2)) 2)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/3 (* -4/45 (pow ky 2)))) 2)))))
#s(approx (* 2 ky) #s(hole binary64 (* 2 ky)))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (pow ky 2)) (* 1/2 (cos (* 2 kx))))))
#s(approx (+ (* (* ky ky) -1/3) 1) #s(hole binary64 (+ 1 (* -1/3 (pow ky 2)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* 1/2 (* (pow ky 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* -1/2 (* (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (* (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))) (* 1/2 (cos (* 2 kx))))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (* 1/2 (cos (* 2 ky)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (cos (* 2 ky))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (* -1/3 (pow ky 4))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (* (pow ky 4) (- (/ 1 (pow ky 2)) 1/3))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (* (pow ky 4) (- (+ (/ 1/2 (pow ky 4)) (/ 1 (pow ky 2))) (+ 1/3 (* 1/2 (/ (cos (* 2 kx)) (pow ky 4))))))))
#s(approx (+ (* (* ky ky) -1/3) 1) #s(hole binary64 (* -1/3 (pow ky 2))))
#s(approx (+ (* (* ky ky) -1/3) 1) #s(hole binary64 (* (pow ky 2) (- (/ 1 (pow ky 2)) 1/3))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole 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)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole 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)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole 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))))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))))))))))))
Calls

9 calls:

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

rewrite232.0ms (3.1%)

Memory
35.1MiB live, 222.7MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08766706
09375085
164964883
091354620
1251354620
Stop Event
saturated
node-limit
iter-limit
Counts
169 → 370
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(sin.f64 ky)
ky
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
kx
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(fma.f64 kx kx (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))
(cos.f64 (*.f64 #s(literal 2 binary64) ky))
(*.f64 #s(literal 2 binary64) ky)
#s(literal 2 binary64)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
(fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
(fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))
(*.f64 ky ky)
#s(literal -1/3 binary64)
#s(literal 1 binary64)
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))
(*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))
(cos.f64 (*.f64 #s(literal 2 binary64) kx))
(*.f64 #s(literal 2 binary64) kx)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))
(sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))
(+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (sin th)))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (+ (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)))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (+ (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))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 1))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole 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))))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole 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))))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (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))))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (- (+ 1/2 (pow kx 2)) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow kx 2))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (pow kx 2)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 1/2))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 (+ 1/2 (* -1 (pow kx 2)))))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 (+ 1/2 (* (pow kx 2) (- (* 1/3 (pow kx 2)) 1)))))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 (+ 1/2 (* (pow kx 2) (- (* (pow kx 2) (+ 1/3 (* -2/45 (pow kx 2)))) 1)))))
#s(approx (cos (* 2 kx)) #s(hole binary64 (+ 1 (* -2 (pow kx 2)))))
#s(approx (cos (* 2 kx)) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 2/3 (pow kx 2)) 2)))))
#s(approx (cos (* 2 kx)) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/3 (* -4/45 (pow kx 2)))) 2)))))
#s(approx (* 2 kx) #s(hole binary64 (* 2 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (sin th))) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (* (sin ky) (sin th)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* 1/2 (* (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (* (sin ky) (sin th)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 4)))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* 1/2 (* (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* -1/2 (* (* (pow kx 2) (sin ky)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (sin ky) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* 1/2 (* (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (sin ky) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 4))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* 1/2 (* (* (sin ky) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (sqrt (- 1/2 (* 1/2 (cos (* 2 ky)))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))) (* 1/2 (* (pow kx 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))) (* (pow kx 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))) (* 1/2 (* (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (- 1/2 (* 1/2 (cos (* 2 ky)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))) (* 1/2 (cos (* 2 ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (* (pow kx 2) (- (+ 1 (* 1/2 (/ 1 (pow kx 2)))) (* 1/2 (/ (cos (* 2 ky)) (pow kx 2)))))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))) (* 1/2 (cos (* 2 kx))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 kx))))))
#s(approx (* 1/2 (cos (* 2 kx))) #s(hole binary64 (* 1/2 (cos (* 2 kx)))))
#s(approx (cos (* 2 kx)) #s(hole binary64 (cos (* 2 kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (sqrt (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (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))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (* 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))))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(hole binary64 (* 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))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) #s(hole binary64 (+ (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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (pow kx 2) (pow ky 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow kx 2))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (pow ky 2)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* -1 (pow ky 2)))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* 1/3 (pow ky 2)) 1)))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* (pow ky 2) (+ 1/3 (* -2/45 (pow ky 2)))) 1)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* -2 (pow ky 2)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* 2/3 (pow ky 2)) 2)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/3 (* -4/45 (pow ky 2)))) 2)))))
#s(approx (* 2 ky) #s(hole binary64 (* 2 ky)))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (pow ky 2)) (* 1/2 (cos (* 2 kx))))))
#s(approx (+ (* (* ky ky) -1/3) 1) #s(hole binary64 (+ 1 (* -1/3 (pow ky 2)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* 1/2 (* (pow ky 2) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* -1/2 (* (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) #s(hole binary64 (+ (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))) (* (pow ky 2) (+ (* 1/2 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* 1/2 (* (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (- (+ 1/2 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))) (* 1/2 (cos (* 2 kx))))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (* 1/2 (cos (* 2 ky)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (cos (* 2 ky))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (* -1/3 (pow ky 4))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (* (pow ky 4) (- (/ 1 (pow ky 2)) 1/3))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) #s(hole binary64 (* (pow ky 4) (- (+ (/ 1/2 (pow ky 4)) (/ 1 (pow ky 2))) (+ 1/3 (* 1/2 (/ (cos (* 2 kx)) (pow ky 4))))))))
#s(approx (+ (* (* ky ky) -1/3) 1) #s(hole binary64 (* -1/3 (pow ky 2))))
#s(approx (+ (* (* ky ky) -1/3) 1) #s(hole binary64 (* (pow ky 2) (- (/ 1 (pow ky 2)) 1/3))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole 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)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole 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)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) #s(hole 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))))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))))))))))))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.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)))
(sin.f64 ky)
ky
(pow.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))) #s(literal 1/2 binary64))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (neg.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sin.f64 ky))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
kx
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(pow.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(fabs.f64 (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) (fma.f64 kx kx #s(literal 1/2 binary64))))
(fma.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)) (*.f64 kx kx))
(fma.f64 (fabs.f64 kx) (fabs.f64 kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)) (*.f64 kx kx))
(fma.f64 (neg.f64 kx) (neg.f64 kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 kx kx))
(fma.f64 (sin.f64 ky) (sin.f64 ky) (*.f64 kx kx))
(fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(-.f64 (*.f64 kx kx) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(+.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))
(+.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (neg.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 kx kx))
(+.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 kx kx) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(*.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)))
(*.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)))
(*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(pow.f64 (fabs.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky ky)) (cos.f64 (+.f64 ky ky))) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))
(sin.f64 (+.f64 (neg.f64 (+.f64 ky ky)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (+.f64 ky ky)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 (+.f64 ky ky)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 ky ky))))
(cos.f64 (neg.f64 (fabs.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (neg.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (fabs.f64 (+.f64 ky ky))))
(cos.f64 (neg.f64 (+.f64 ky ky)))
(cos.f64 (fabs.f64 (+.f64 ky ky)))
(cos.f64 (+.f64 ky ky))
(+.f64 (*.f64 (sin.f64 (+.f64 ky ky)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 (+.f64 ky ky)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) ky)
(*.f64 ky #s(literal 2 binary64))
(+.f64 ky ky)
#s(literal 2 binary64)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
(pow.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(fabs.f64 (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)) (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) ky) ky (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(fma.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx)) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))))
(fma.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))))
(fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))))
(fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(fma.f64 (sin.f64 kx) (sin.f64 kx) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))))
(-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(+.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))
(+.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (neg.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))))
(+.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/3 binary64) (*.f64 ky ky) #s(literal 1 binary64))
(fma.f64 ky (*.f64 ky #s(literal -1/3 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 ky ky) #s(literal 1/3 binary64)))
(+.f64 (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)))
(*.f64 (fabs.f64 ky) (fabs.f64 ky))
(*.f64 (neg.f64 ky) (neg.f64 ky))
(*.f64 ky ky)
(pow.f64 (fabs.f64 ky) #s(literal 2 binary64))
(pow.f64 (neg.f64 ky) #s(literal 2 binary64))
(pow.f64 ky #s(literal 2 binary64))
(fabs.f64 (*.f64 ky ky))
#s(literal -1/3 binary64)
#s(literal 1 binary64)
(*.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx)))
(*.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)))
(*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(*.f64 (sin.f64 kx) (sin.f64 kx))
(pow.f64 (fabs.f64 (sin.f64 kx)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 kx)) #s(literal 2 binary64))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 kx kx)) (cos.f64 (+.f64 kx kx))) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 kx kx))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))
(sin.f64 (+.f64 (neg.f64 (+.f64 kx kx)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (+.f64 kx kx)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (fma.f64 #s(literal 2 binary64) kx (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 (+.f64 kx kx)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 (+.f64 kx kx)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 kx kx))))
(cos.f64 (neg.f64 (fabs.f64 (+.f64 kx kx))))
(cos.f64 (fabs.f64 (neg.f64 (+.f64 kx kx))))
(cos.f64 (fabs.f64 (fabs.f64 (+.f64 kx kx))))
(cos.f64 (neg.f64 (+.f64 kx kx)))
(cos.f64 (fabs.f64 (+.f64 kx kx)))
(cos.f64 (+.f64 kx kx))
(+.f64 (*.f64 (sin.f64 (+.f64 kx kx)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 (+.f64 kx kx)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) kx)
(*.f64 kx #s(literal 2 binary64))
(+.f64 kx kx)
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.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)))
(pow.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))) #s(literal 1/2 binary64))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (neg.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sin.f64 ky))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))) #s(literal 1 binary64)))
(fma.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(fma.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(fma.f64 (sin.f64 kx) (sin.f64 kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (sin.f64 ky) (sin.f64 ky) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(-.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))
(-.f64 (-.f64 #s(literal 1 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(-.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(-.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 (neg.f64 (sin.f64 kx)) (sin.f64 kx)))
(-.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))
(-.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1 binary64) (neg.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th))) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (sin.f64 th))) (*.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)))))) (*.f64 kx kx) (sin.f64 th)))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(literal 1 binary64))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64)))))) #s(literal -1/2 binary64))) (*.f64 kx kx)) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (sin.f64 ky))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky)))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 ky))) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky)))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) (/.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64))) (sin.f64 ky))) #s(literal 1/2 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 ky)) #s(literal -1/2 binary64))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky)))
#s(approx (sin kx) kx)
#s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) (*.f64 kx kx))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/315 binary64) (*.f64 kx kx) #s(literal 2/45 binary64)) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (* 1/2 (cos (* 2 kx))) #s(literal 1/2 binary64))
#s(approx (* 1/2 (cos (* 2 kx))) (+.f64 (neg.f64 (*.f64 kx kx)) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos (* 2 kx))) (fma.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 kx kx) #s(literal -1 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos (* 2 kx))) (fma.f64 (fma.f64 (fma.f64 #s(literal -2/45 binary64) (*.f64 kx kx) #s(literal 1/3 binary64)) (*.f64 kx kx) #s(literal -1 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)))
#s(approx (cos (* 2 kx)) (fma.f64 #s(literal -2 binary64) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (cos (* 2 kx)) (fma.f64 (fma.f64 #s(literal 2/3 binary64) (*.f64 kx kx) #s(literal -2 binary64)) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (cos (* 2 kx)) (fma.f64 (fma.f64 (fma.f64 #s(literal -4/45 binary64) (*.f64 kx kx) #s(literal 2/3 binary64)) (*.f64 kx kx) #s(literal -2 binary64)) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (* 2 kx) (+.f64 kx kx))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)) (*.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (*.f64 kx kx))) #s(literal -1/2 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 ky)) (*.f64 kx kx))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))) (*.f64 (sin.f64 th) (sin.f64 ky))) #s(literal -1/2 binary64))) (*.f64 kx kx) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky)) (*.f64 (*.f64 kx kx) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 ky)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (sin.f64 th)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 ky))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) (*.f64 kx kx) (*.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))) (*.f64 (sin.f64 th) (sin.f64 ky))) #s(literal -1/2 binary64))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky)))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (sin.f64 ky))) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 ky)) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 ky)) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))))) (*.f64 kx kx) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 ky)) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))) (*.f64 (*.f64 kx kx) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 ky)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 ky))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))) (*.f64 kx kx) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (*.f64 kx kx))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) #s(literal 1/2 binary64))) (*.f64 kx kx) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64))) (*.f64 kx kx))) #s(literal 1/2 binary64))) (*.f64 kx kx) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) #s(literal 1/2 binary64))) (*.f64 kx kx) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 ky)))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (sin kx) (sin.f64 kx))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) #s(literal 1 binary64)) (*.f64 (/.f64 (cos.f64 (+.f64 ky ky)) (*.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 kx kx)))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 kx)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos (* 2 kx))) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))
#s(approx (cos (* 2 kx)) (cos.f64 (+.f64 kx kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 ky)))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) #s(literal 1/2 binary64) (*.f64 #s(literal 1/12 binary64) (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64)))))) (*.f64 ky ky) (/.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal 1/120 binary64) (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 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (sin.f64 th)) (fma.f64 #s(literal -1/12 binary64) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) (fma.f64 #s(literal -1/240 binary64) (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) (/.f64 (*.f64 #s(literal -1/5040 binary64) (sin.f64 th)) (sin.f64 kx))))))))) (*.f64 ky ky) (/.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (/.f64 ky (sin.f64 kx)))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (fma.f64 (neg.f64 (*.f64 ky ky)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (fma.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/12 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.f64 ky ky)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 ky (*.f64 (*.f64 ky ky) (-.f64 (*.f64 (*.f64 ky ky) (+.f64 (/.f64 #s(literal 1/120 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/12 binary64) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (-.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (fma.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) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))))))) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))))) (/.f64 ky (sin.f64 kx))))
#s(approx (sin ky) ky)
#s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))
#s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 kx)) #s(literal 1/2 binary64) (sin.f64 kx)))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 ky ky) (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 kx))) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 ky ky) (/.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64))) (sin.f64 kx))) #s(literal 1/2 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 kx)) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (fma.f64 ky ky (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (fma.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)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (fma.f64 kx kx (*.f64 ky ky)))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (fma.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)) (*.f64 ky ky) (*.f64 kx kx)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.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)) (*.f64 ky ky)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.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)) (*.f64 ky ky)))
#s(approx (* 1/2 (cos (* 2 ky))) (+.f64 (neg.f64 (*.f64 ky ky)) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos (* 2 ky))) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal -1 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos (* 2 ky))) (fma.f64 (fma.f64 (fma.f64 #s(literal -2/45 binary64) (*.f64 ky ky) #s(literal 1/3 binary64)) (*.f64 ky ky) #s(literal -1 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)))
#s(approx (cos (* 2 ky)) (fma.f64 #s(literal -2 binary64) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (cos (* 2 ky)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 2/3 binary64) #s(literal -2 binary64)) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (cos (* 2 ky)) (fma.f64 (fma.f64 (fma.f64 #s(literal -4/45 binary64) (*.f64 ky ky) #s(literal 2/3 binary64)) (*.f64 ky ky) #s(literal -2 binary64)) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (* 2 ky) (+.f64 ky ky))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 ky ky #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (+ (* (* ky ky) -1/3) 1) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sin.f64 th) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)))))) (*.f64 ky ky) (*.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))))) ky))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th))) #s(literal -1/12 binary64) (fma.f64 (*.f64 #s(literal -1/5040 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))))))))))) (*.f64 ky ky)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) ky))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (fma.f64 (fma.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal 1/12 binary64)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64)))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) ky))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (fma.f64 (fma.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64) (fma.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal 1/12 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64)))))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) #s(literal -1/12 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal -1/5040 binary64) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal -1/240 binary64))))))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64)))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) ky))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (*.f64 ky ky))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal 1/2 binary64))) (*.f64 ky ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
#s(approx (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64))) (*.f64 ky ky))) #s(literal 1/2 binary64))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal 1/2 binary64))) (*.f64 ky ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
#s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.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)) (*.f64 ky ky) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos (* 2 ky))) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
#s(approx (cos (* 2 ky)) (cos.f64 (+.f64 ky ky)))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (*.f64 (pow.f64 ky #s(literal 4 binary64)) #s(literal -1/3 binary64)))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 ky ky)) #s(literal 1/3 binary64)) (pow.f64 ky #s(literal 4 binary64))))
#s(approx (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 ky #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky))) (fma.f64 (/.f64 (cos.f64 (+.f64 kx kx)) (pow.f64 ky #s(literal 4 binary64))) #s(literal 1/2 binary64) #s(literal 1/3 binary64))) (pow.f64 ky #s(literal 4 binary64))))
#s(approx (+ (* (* ky ky) -1/3) 1) (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)))
#s(approx (+ (* (* ky ky) -1/3) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 ky ky)) #s(literal 1/3 binary64)) (*.f64 ky ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))))) (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))))) (*.f64 th th))) (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 ky))) th))
#s(approx (sin th) 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 (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 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 (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))))) (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))))) (*.f64 th th))) (*.f64 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 ky))) th))

eval147.0ms (1.9%)

Memory
-15.4MiB live, 74.4MiB allocated; 9ms collecting garbage
Compiler

Compiled 6 623 to 2 239 computations (66.2% saved)

prune85.0ms (1.1%)

Memory
22.5MiB live, 67.2MiB allocated; 5ms collecting garbage
Pruning

39 alts after pruning (37 fresh and 2 done)

PrunedKeptTotal
New38630416
Fresh12719
Picked325
Done000
Total40139440
Accuracy
99.9%
Counts
440 → 39
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
24.4%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
31.0%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
88.9%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sin.f64 ky))) (sin.f64 th))
99.6%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) th))
55.2%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
55.0%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
54.8%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
55.0%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) kx))) (sin.f64 th))
75.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
75.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 th))
44.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))))) #s(approx (sin th) th))
21.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
25.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
30.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
30.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
33.5%
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
53.6%
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
64.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
33.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
99.5%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
27.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
75.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 ky))) (sin.f64 th))
14.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
75.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 ky))) (sin.f64 th))
30.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) (sin.f64 th))
25.6%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
26.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
21.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
31.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
14.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
14.0%
#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)))
14.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) th))
24.3%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky))
37.6%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))))
75.3%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
29.8%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
25.5%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
Compiler

Compiled 1 800 to 1 696 computations (5.8% saved)

series75.0ms (1%)

Memory
-12.7MiB live, 87.9MiB allocated; 59ms collecting garbage
Counts
35 → 129
Calls
Call 1
Inputs
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(sin.f64 ky)
ky
(/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(literal 1 binary64)
(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) th))
#s(approx (sin th) th)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(fma.f64 kx kx (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))
(cos.f64 (*.f64 #s(literal 2 binary64) ky))
(*.f64 #s(literal 2 binary64) ky)
#s(literal 2 binary64)
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) (sin.f64 th))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))
(cos.f64 (+.f64 ky ky))
(+.f64 ky ky)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 th) (sin.f64 ky))
Outputs
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (sin th)))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (+ (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)))))))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (+ (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))))))))))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 1))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole 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))))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole 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))))))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ 1 (sin ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (- (+ 1/2 (pow kx 2)) (* 1/2 (cos (* 2 ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (sin th))) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (* (sin ky) (sin th)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* 1/2 (* (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (* (sin ky) (sin th)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 4)))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* 1/2 (* (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* -1/2 (* (* (pow kx 2) (sin ky)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (sin ky) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* 1/2 (* (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (sin ky) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 4))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* 1/2 (* (* (sin ky) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (pow kx 2)))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (* (pow kx 2) (- (+ 1 (* 1/2 (/ 1 (pow kx 2)))) (* 1/2 (/ (cos (* 2 ky)) (pow kx 2)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (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))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (* 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))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (* 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))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ 1 (sin kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (pow kx 2) (pow ky 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow kx 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow kx 2))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (pow ky 2)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 1/2))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* -1 (pow ky 2)))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* 1/3 (pow ky 2)) 1)))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* (pow ky 2) (+ 1/3 (* -2/45 (pow ky 2)))) 1)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* -2 (pow ky 2)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* 2/3 (pow ky 2)) 2)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/3 (* -4/45 (pow ky 2)))) 2)))))
#s(approx (* 2 ky) #s(hole binary64 (* 2 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (/ 1 ky)))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (/ (+ 1 (* 1/6 (pow ky 2))) ky)))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (/ (+ 1 (* (pow ky 2) (+ 1/6 (* 7/360 (pow ky 2))))) ky)))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (/ (+ 1 (* (pow ky 2) (+ 1/6 (* (pow ky 2) (+ 7/360 (* 31/15120 (pow ky 2))))))) ky)))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ 1 (pow ky 2))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ (+ 1 (* 1/3 (pow ky 2))) (pow ky 2))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ (+ 1 (* (pow ky 2) (+ 1/3 (* 1/15 (pow ky 2))))) (pow ky 2))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ (+ 1 (* (pow ky 2) (+ 1/3 (* (pow ky 2) (+ 1/15 (* 2/189 (pow ky 2))))))) (pow ky 2))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (sin th))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (* 1/2 (cos (* 2 ky)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (cos (* 2 ky))))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* (sin ky) (sin th))))
#s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sin ky)) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (neg (* -2 ky))))))))))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (neg (* -2 ky)))))))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ 1 (- 1/2 (* 1/2 (cos (neg (* -2 ky))))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (neg (* -2 ky)))))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (* 1/2 (cos (neg (* -2 ky))))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (cos (neg (* -2 ky)))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole 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)))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole 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)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole 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))))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))))))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (sin ky))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))))
Calls

9 calls:

TimeVariablePointExpression
35.0ms
kx
@inf
((* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin ky) ky (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin th) th (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (- 1/2 (* 1/2 (cos (* 2 ky)))) 1/2 (* 1/2 (cos (* 2 ky))) (cos (* 2 ky)) (* 2 ky) 2 (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sin ky)) (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (- 1/2 (* (cos (+ ky ky)) 1/2)) (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (* (sin th) (sin ky)))
10.0ms
ky
@-inf
((* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin ky) ky (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin th) th (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (- 1/2 (* 1/2 (cos (* 2 ky)))) 1/2 (* 1/2 (cos (* 2 ky))) (cos (* 2 ky)) (* 2 ky) 2 (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sin ky)) (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (- 1/2 (* (cos (+ ky ky)) 1/2)) (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (* (sin th) (sin ky)))
5.0ms
ky
@inf
((* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin ky) ky (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin th) th (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (- 1/2 (* 1/2 (cos (* 2 ky)))) 1/2 (* 1/2 (cos (* 2 ky))) (cos (* 2 ky)) (* 2 ky) 2 (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sin ky)) (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (- 1/2 (* (cos (+ ky ky)) 1/2)) (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (* (sin th) (sin ky)))
5.0ms
ky
@0
((* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin ky) ky (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin th) th (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (- 1/2 (* 1/2 (cos (* 2 ky)))) 1/2 (* 1/2 (cos (* 2 ky))) (cos (* 2 ky)) (* 2 ky) 2 (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sin ky)) (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (- 1/2 (* (cos (+ ky ky)) 1/2)) (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (* (sin th) (sin ky)))
4.0ms
kx
@-inf
((* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin ky) ky (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin th) th (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (- 1/2 (* 1/2 (cos (* 2 ky)))) 1/2 (* 1/2 (cos (* 2 ky))) (cos (* 2 ky)) (* 2 ky) 2 (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sin ky)) (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (- 1/2 (* (cos (+ ky ky)) 1/2)) (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (/ (* (sin th) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (* (sin th) (sin ky)))

rewrite237.0ms (3.1%)

Memory
-10.6MiB live, 271.7MiB allocated; 28ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08826329
09334881
164604536
092094273
1254324273
Stop Event
saturated
node-limit
iter-limit
Counts
164 → 326
Calls
Call 1
Inputs
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(sin.f64 ky)
ky
(/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(literal 1 binary64)
(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) th))
#s(approx (sin th) th)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))
(fma.f64 kx kx (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))
(cos.f64 (*.f64 #s(literal 2 binary64) ky))
(*.f64 #s(literal 2 binary64) ky)
#s(literal 2 binary64)
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) (sin.f64 th))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))
(cos.f64 (+.f64 ky ky))
(+.f64 ky ky)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 th) (sin.f64 ky))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (sin th)))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (+ (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)))))))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (+ (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))))))))))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 1))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole 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))))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole 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))))))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ 1 (sin ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (- (+ 1/2 (pow kx 2)) (* 1/2 (cos (* 2 ky))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (sin th))) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (* (sin ky) (sin th)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* 1/2 (* (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (+ (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (* (sin ky) (sin th)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 4)))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* 1/2 (* (* (sin ky) (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* -1/2 (* (* (pow kx 2) (sin ky)) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (sin ky) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* 1/2 (* (* (pow kx 2) (* (sin ky) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (+ (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* (pow kx 2) (+ (* -1/2 (* (sin ky) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (* (pow kx 2) (+ (* -1/2 (* (* (pow kx 2) (* (sin ky) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 ky)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 4))))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))) (* 1/2 (* (* (sin ky) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 ky)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 ky))))))))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (pow kx 2)))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (* (pow kx 2) (- (+ 1 (* 1/2 (/ 1 (pow kx 2)))) (* 1/2 (/ (cos (* 2 ky)) (pow kx 2)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (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))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (* 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))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(hole binary64 (* 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))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ 1 (sin kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (pow kx 2) (pow ky 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow kx 2))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow kx 2))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (pow ky 2)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 1/2))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* -1 (pow ky 2)))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* 1/3 (pow ky 2)) 1)))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* (pow ky 2) (+ 1/3 (* -2/45 (pow ky 2)))) 1)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* -2 (pow ky 2)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* 2/3 (pow ky 2)) 2)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/3 (* -4/45 (pow ky 2)))) 2)))))
#s(approx (* 2 ky) #s(hole binary64 (* 2 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* ky (sin th)) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* ky (+ (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* -1/6 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (* (pow ky 2) (+ (* 1/120 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))) (+ (* 1/12 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (+ (* 1/2 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4)))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (* (sin th) (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (* (sin th) (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))))) (* -1/5040 (* (sin th) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx)))))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) #s(hole binary64 (* ky (+ (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx)))))) (* (pow ky 2) (+ (* -1/2 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* -1/6 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* 1/120 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* 1/12 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (+ (* 1/2 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (* (pow ky 2) (+ (* -1/2 (* (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (- 1/2 (* 1/2 (cos (* 2 kx)))))) (+ (* 2/45 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (+ (* 2/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3))) (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 4))))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/12 (* (+ (* 1/3 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 2))) (* 3/4 (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (sqrt (- 1/2 (* 1/2 (cos (* 2 kx))))))) (+ (* -1/240 (sqrt (/ 1 (pow (- 1/2 (* 1/2 (cos (* 2 kx)))) 3)))) (* -1/5040 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 kx))))))))))))))))))))))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (/ 1 ky)))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (/ (+ 1 (* 1/6 (pow ky 2))) ky)))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (/ (+ 1 (* (pow ky 2) (+ 1/6 (* 7/360 (pow ky 2))))) ky)))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (/ (+ 1 (* (pow ky 2) (+ 1/6 (* (pow ky 2) (+ 7/360 (* 31/15120 (pow ky 2))))))) ky)))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ 1 (pow ky 2))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ (+ 1 (* 1/3 (pow ky 2))) (pow ky 2))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ (+ 1 (* (pow ky 2) (+ 1/3 (* 1/15 (pow ky 2))))) (pow ky 2))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ (+ 1 (* (pow ky 2) (+ 1/3 (* (pow ky 2) (+ 1/15 (* 2/189 (pow ky 2))))))) (pow ky 2))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (sin th))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))))
#s(approx (* 1/2 (cos (* 2 ky))) #s(hole binary64 (* 1/2 (cos (* 2 ky)))))
#s(approx (cos (* 2 ky)) #s(hole binary64 (cos (* 2 ky))))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky))))))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ 1 (- 1/2 (* 1/2 (cos (* 2 ky)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* (sin ky) (sin th))))
#s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sin ky)) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (- 1/2 (* 1/2 (cos (neg (* -2 ky))))))))))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) #s(hole binary64 (sqrt (/ 1 (- 1/2 (* 1/2 (cos (neg (* -2 ky)))))))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (/ 1 (- 1/2 (* 1/2 (cos (neg (* -2 ky))))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (neg (* -2 ky)))))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (* 1/2 (cos (neg (* -2 ky))))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (cos (neg (* -2 ky)))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole 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)))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole 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)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(hole 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))))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky))))))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (- 1 (+ (* 1/2 (cos (* 2 kx))) (* 1/2 (cos (* 2 ky)))))))))))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (sin ky))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (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) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (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 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (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 (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)))
(sin.f64 ky)
ky
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))) #s(literal 1/2 binary64))
(pow.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) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))
(fabs.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(literal 1 binary64)
(pow.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))) #s(literal 1/2 binary64))
(sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (neg.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sin.f64 ky))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
kx
(sin.f64 th)
th
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) #s(approx (sin th) th))
#s(approx (sin th) th)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (sin th) th) (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(pow.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(fabs.f64 (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) (fma.f64 kx kx #s(literal 1/2 binary64))))
(fma.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)) (*.f64 kx kx))
(fma.f64 (fabs.f64 kx) (fabs.f64 kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)) (*.f64 kx kx))
(fma.f64 (neg.f64 kx) (neg.f64 kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 kx kx))
(fma.f64 (sin.f64 ky) (sin.f64 ky) (*.f64 kx kx))
(fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(-.f64 (*.f64 kx kx) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(+.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))
(+.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (neg.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 kx kx))
(+.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 kx kx) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(*.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)))
(*.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)))
(*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(pow.f64 (fabs.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky ky)) (cos.f64 (+.f64 ky ky))) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))
(sin.f64 (+.f64 (neg.f64 (+.f64 ky ky)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (+.f64 ky ky)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (fma.f64 #s(literal -2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 (+.f64 ky ky)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(fma.f64 (cos.f64 ky) (cos.f64 ky) (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 ky ky))))
(cos.f64 (neg.f64 (fabs.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (neg.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (fabs.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (*.f64 #s(literal -2 binary64) ky)))
(cos.f64 (neg.f64 (+.f64 ky ky)))
(cos.f64 (fabs.f64 (+.f64 ky ky)))
(cos.f64 (*.f64 #s(literal -2 binary64) ky))
(cos.f64 (+.f64 ky ky))
(+.f64 (*.f64 (sin.f64 (+.f64 ky ky)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 (+.f64 ky ky)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(*.f64 #s(literal -2 binary64) (neg.f64 ky))
(*.f64 #s(literal 2 binary64) ky)
(*.f64 ky #s(literal 2 binary64))
(neg.f64 (*.f64 #s(literal -2 binary64) ky))
(-.f64 ky (neg.f64 ky))
(+.f64 ky ky)
#s(literal 2 binary64)
(*.f64 #s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/2 binary64))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(fabs.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(pow.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) #s(literal -1 binary64))
(pow.f64 (sin.f64 ky) #s(literal -2 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(*.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)))
(*.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)))
(*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(pow.f64 (fabs.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky ky)) (cos.f64 (+.f64 ky ky))) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))
(sin.f64 (+.f64 (neg.f64 (+.f64 ky ky)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (+.f64 ky ky)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (fma.f64 #s(literal -2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 (+.f64 ky ky)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(fma.f64 (cos.f64 ky) (cos.f64 ky) (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 ky ky))))
(cos.f64 (neg.f64 (fabs.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (neg.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (fabs.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (*.f64 #s(literal -2 binary64) ky)))
(cos.f64 (neg.f64 (+.f64 ky ky)))
(cos.f64 (fabs.f64 (+.f64 ky ky)))
(cos.f64 (*.f64 #s(literal -2 binary64) ky))
(cos.f64 (+.f64 ky ky))
(+.f64 (*.f64 (sin.f64 (+.f64 ky ky)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 (+.f64 ky ky)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(*.f64 #s(literal -2 binary64) (neg.f64 ky))
(*.f64 #s(literal 2 binary64) ky)
(*.f64 ky #s(literal 2 binary64))
(neg.f64 (*.f64 #s(literal -2 binary64) ky))
(-.f64 ky (neg.f64 ky))
(+.f64 ky ky)
(*.f64 (/.f64 (sin.f64 ky) (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) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (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 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sin.f64 th))
(/.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th))) #s(literal 2 binary64))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (sin.f64 th))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) (sin.f64 th)))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (sin.f64 th)) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (sin.f64 th))) #s(literal -1/2 binary64))))) (*.f64 kx kx) (sin.f64 th)))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) #s(literal 1 binary64))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))))) (*.f64 kx kx)) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (*.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal -3 binary64))) #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) (sin.f64 ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 ky)) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64)))) (pow.f64 (sin.f64 ky) #s(literal -3 binary64)))) (*.f64 kx kx) (/.f64 #s(literal 1 binary64) (sin.f64 ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (sin.f64 ky)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 ky)) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))))) (*.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))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 ky))) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) (/.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64))) (sin.f64 ky))) #s(literal 1/2 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 ky)) #s(literal -1/2 binary64))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky)))
#s(approx (sin kx) kx)
#s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (*.f64 kx kx))) #s(literal -1/2 binary64))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (sin.f64 th)) (sin.f64 ky)) (*.f64 kx kx))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))))) (*.f64 kx kx))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (fma.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 kx kx) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 ky)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (sin.f64 th)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (sin.f64 th)) (sin.f64 ky))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) (*.f64 kx kx) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky)))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky) (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (sin.f64 ky))) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 ky)) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 ky)) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))))) (*.f64 kx kx) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 ky)) (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64))) (*.f64 (*.f64 kx kx) (fma.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 ky)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))))) #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 ky)) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))) (*.f64 kx kx) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (sin kx) (sin.f64 kx))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) #s(literal 1 binary64)) (*.f64 (/.f64 (cos.f64 (+.f64 ky ky)) (*.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 kx kx)))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) #s(literal 1/2 binary64) (*.f64 #s(literal 1/12 binary64) (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64)))))) (*.f64 ky ky) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/6 binary64)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal 1/120 binary64) (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 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (sin.f64 th)) (fma.f64 #s(literal -1/12 binary64) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) (fma.f64 #s(literal -1/240 binary64) (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) (/.f64 (*.f64 #s(literal -1/5040 binary64) (sin.f64 th)) (sin.f64 kx))))))))) (*.f64 ky ky) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/6 binary64)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (/.f64 ky (sin.f64 kx)))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (fma.f64 (neg.f64 (*.f64 ky ky)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (fma.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/12 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.f64 ky ky)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (fma.f64 ky (*.f64 (*.f64 ky ky) (-.f64 (*.f64 (*.f64 ky ky) (+.f64 (/.f64 #s(literal 1/120 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/12 binary64) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (-.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (fma.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) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))))))) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))))) (/.f64 ky (sin.f64 kx))))
#s(approx (sin ky) ky)
#s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))
#s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (*.f64 (*.f64 ky ky) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) (sin.f64 kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 ky ky) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (pow.f64 (sin.f64 kx) #s(literal -3 binary64)))) (*.f64 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 ky ky)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (sin.f64 kx)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (*.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))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 kx)) #s(literal 1/2 binary64) (sin.f64 kx)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 ky ky) (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 kx))) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 ky ky) (/.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64))) (sin.f64 kx))) #s(literal 1/2 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 kx)) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 ky ky (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.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)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (fma.f64 kx kx (*.f64 ky ky)))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (*.f64 kx kx)))
#s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (fma.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)) (*.f64 ky ky) (*.f64 kx kx)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.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)) (*.f64 ky ky)))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.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)) (*.f64 ky ky)))
#s(approx (* 1/2 (cos (* 2 ky))) #s(literal 1/2 binary64))
#s(approx (* 1/2 (cos (* 2 ky))) (+.f64 (neg.f64 (*.f64 ky ky)) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos (* 2 ky))) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal -1 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (cos (* 2 ky))) (fma.f64 (fma.f64 (fma.f64 #s(literal -2/45 binary64) (*.f64 ky ky) #s(literal 1/3 binary64)) (*.f64 ky ky) #s(literal -1 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)))
#s(approx (cos (* 2 ky)) (fma.f64 #s(literal -2 binary64) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (cos (* 2 ky)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 2/3 binary64) #s(literal -2 binary64)) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (cos (* 2 ky)) (fma.f64 (fma.f64 (fma.f64 #s(literal -4/45 binary64) (*.f64 ky ky) #s(literal 2/3 binary64)) (*.f64 ky ky) #s(literal -2 binary64)) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (* 2 ky) (+.f64 ky ky))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/6 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sin.f64 th) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) (fma.f64 (fma.f64 (*.f64 (sin.f64 th) #s(literal 1/120 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)))))) (*.f64 ky ky) (*.f64 (*.f64 (sin.f64 th) #s(literal -1/6 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))))) ky))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) (fma.f64 (*.f64 (sin.f64 th) #s(literal -1/6 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (fma.f64 (*.f64 (sin.f64 th) #s(literal 1/120 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (fma.f64 (*.f64 #s(literal 1/12 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th))) #s(literal -1/12 binary64) (fma.f64 (*.f64 #s(literal -1/5040 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 #s(literal -1/240 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))))))))))) (*.f64 ky ky)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) ky))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (fma.f64 (fma.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal 1/12 binary64)))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64)))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) ky))
#s(approx (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (*.f64 (fma.f64 (fma.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal 1/120 binary64) (fma.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal 1/12 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64)))))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) #s(literal -1/12 binary64) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal -1/5040 binary64) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))) #s(literal -1/240 binary64))))))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) #s(literal -1/6 binary64)))) (*.f64 ky ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) ky))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (fma.f64 #s(literal 7/360 binary64) (*.f64 ky ky) #s(literal 1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 31/15120 binary64) (*.f64 ky ky) #s(literal 7/360 binary64)) (*.f64 ky ky) #s(literal 1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (fma.f64 #s(literal 1/15 binary64) (*.f64 ky ky) #s(literal 1/3 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) (*.f64 ky ky)))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 2/189 binary64) (*.f64 ky ky) #s(literal 1/15 binary64)) (*.f64 ky ky) #s(literal 1/3 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) (*.f64 ky ky)))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (*.f64 (*.f64 ky ky) (sin.f64 th)) #s(literal -1/6 binary64) (sin.f64 th)) ky))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 ky ky) (sin.f64 th)) #s(literal 1/120 binary64) (*.f64 (sin.f64 th) #s(literal -1/6 binary64))) (*.f64 ky ky) (sin.f64 th)) ky))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 th) (*.f64 (fma.f64 (*.f64 (*.f64 ky ky) (sin.f64 th)) #s(literal -1/5040 binary64) (*.f64 (sin.f64 th) #s(literal 1/120 binary64))) (*.f64 ky ky))) (*.f64 ky ky) (sin.f64 th)) ky))
#s(approx (* 1/2 (cos (* 2 ky))) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
#s(approx (cos (* 2 ky)) (cos.f64 (+.f64 ky ky)))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
#s(approx (* (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sin ky)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky)))
#s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (cos (* 2 ky))) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
#s(approx (cos (* 2 ky)) (cos.f64 (+.f64 ky ky)))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 th (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (*.f64 (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(literal -1/6 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 th 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))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 th 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))) #s(literal 1/120 binary64))) (*.f64 th th) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (sin th) 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 (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 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) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 th (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (*.f64 (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(literal -1/6 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 th 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))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (* (sin ky) (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 th 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))) #s(literal 1/120 binary64))) (*.f64 th th) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (sin.f64 ky) (sin.f64 ky)) th))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 th th) (sin.f64 ky)) #s(literal 1/120 binary64) (*.f64 (sin.f64 ky) #s(literal -1/6 binary64))) (*.f64 th th) (sin.f64 ky)) th))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 ky) (*.f64 (fma.f64 (*.f64 (*.f64 th th) (sin.f64 ky)) #s(literal -1/5040 binary64) (*.f64 (sin.f64 ky) #s(literal 1/120 binary64))) (*.f64 th th))) (*.f64 th th) (sin.f64 ky)) th))

eval44.0ms (0.6%)

Memory
-11.4MiB live, 87.1MiB allocated; 11ms collecting garbage
Compiler

Compiled 5 056 to 1 618 computations (68% saved)

prune94.0ms (1.2%)

Memory
31.9MiB live, 78.6MiB allocated; 2ms collecting garbage
Pruning

62 alts after pruning (57 fresh and 5 done)

PrunedKeptTotal
New27635311
Fresh102232
Picked235
Done022
Total28862350
Accuracy
100.0%
Counts
350 → 62
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.2%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 kx)))
96.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
52.2%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
51.8%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
52.0%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))
75.3%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))
50.7%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
61.2%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
17.9%
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
44.7%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
99.6%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) th))
55.0%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
75.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
44.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))))) #s(approx (sin th) th))
21.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
14.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
24.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
13.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
25.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
14.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
18.0%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
14.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
17.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
30.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
11.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
30.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
33.5%
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
64.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
33.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
10.8%
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
96.5%
(*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (*.f64 (sin.f64 th) (sin.f64 ky)))
99.5%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
47.3%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (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)))
54.7%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))) (sin.f64 th))
54.9%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))) (sin.f64 th))
18.0%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
75.4%
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))) (sin.f64 th))
31.0%
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
53.6%
(*.f64 (*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))) (sin.f64 th))
64.1%
(*.f64 (*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))) (sin.f64 th))
99.5%
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
27.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
75.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 ky))) (sin.f64 th))
14.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
39.3%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) (sin.f64 ky))) (sin.f64 th))
14.7%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
25.6%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
15.7%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
13.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
18.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
18.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
26.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
21.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
31.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
14.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
14.0%
#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)))
14.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) th))
37.6%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))))
75.3%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
29.8%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
25.5%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
Compiler

Compiled 2 677 to 2 549 computations (4.8% saved)

series88.0ms (1.2%)

Memory
-32.2MiB live, 61.5MiB allocated; 11ms collecting garbage
Counts
43 → 136
Calls
Call 1
Inputs
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(sin.f64 ky)
ky
(*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(literal 1 binary64)
(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 (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)
#s(literal -1/6 binary64)
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(*.f64 (sin.f64 th) #s(approx (sin ky) ky))
#s(approx (sin ky) ky)
(hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64))
(fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64))
#s(literal 2/45 binary64)
(*.f64 kx kx)
#s(literal -1/3 binary64)
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))
(cos.f64 (+.f64 ky ky))
(+.f64 ky ky)
#s(approx (sin th) th)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(*.f64 (sin.f64 th) (sin.f64 ky))
(hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky))
#s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64))
Outputs
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (sin th)))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (+ (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)))))))))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (+ (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))))))))))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (/ (sin th) (sin ky))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 3))) (/ (sin th) (sin ky)))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* (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)))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ 1 (sin ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 1))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole 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))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole 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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- (+ 1/2 (pow kx 2)) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (+ 1 (* -1/3 (pow kx 2)))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(hole binary64 -1/3))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(hole binary64 (- (* 2/45 (pow kx 2)) 1/3)))
#s(approx (* kx kx) #s(hole binary64 (pow kx 2)))
#s(approx (+ (* -1/6 (* kx kx)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow kx 2)))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* (sin th) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* 2/45 (pow kx 6))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* (pow kx 6) (- 2/45 (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* (pow kx 6) (- (+ 2/45 (/ 1 (pow kx 4))) (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* (pow kx 6) (- (+ 2/45 (+ (/ 1 (pow kx 4)) (* 1/2 (/ 1 (pow kx 6))))) (+ (* 1/2 (/ (cos (* 2 ky)) (pow kx 6))) (* 1/3 (/ 1 (pow kx 2))))))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (* 2/45 (pow kx 4))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (* (pow kx 4) (- 2/45 (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (* (pow kx 4) (- (+ 2/45 (/ 1 (pow kx 4))) (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(hole binary64 (* 2/45 (pow kx 2))))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(hole binary64 (* (pow kx 2) (- 2/45 (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) #s(hole binary64 (* -1/6 (pow kx 3))))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) #s(hole binary64 (* (pow kx 3) (- (/ 1 (pow kx 2)) 1/6))))
#s(approx (+ (* -1/6 (* kx kx)) 1) #s(hole binary64 (* -1/6 (pow kx 2))))
#s(approx (+ (* -1/6 (* kx kx)) 1) #s(hole binary64 (* (pow kx 2) (- (/ 1 (pow kx 2)) 1/6))))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) #s(hole binary64 (* -1 (* (pow kx 3) (- 1/6 (/ 1 (pow kx 2)))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (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))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (/ (sin th) (sin kx))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* -1/2 (/ (* (pow ky 2) (sin th)) (pow (sin kx) 3))) (/ (sin th) (sin kx)))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* (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)))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ 1 (sin kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (sin th))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* 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))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* 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))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow ky 2))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (pow ky 2)))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 1/2))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (+ 1/2 (* -1 (pow ky 2)))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* 1/3 (pow ky 2)) 1)))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* (pow ky 2) (+ 1/3 (* -2/45 (pow ky 2)))) 1)))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (+ 1 (* -2 (pow ky 2)))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* 2/3 (pow ky 2)) 2)))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/3 (* -4/45 (pow ky 2)))) 2)))))
#s(approx (+ ky ky) #s(hole binary64 (* 2 ky)))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* (sin ky) (sin th))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (* 1/2 (cos (* 2 ky)))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (cos (* 2 ky))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))) (* 1/2 (cos (neg (* -2 ky)))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (neg (* -2 ky)))))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (* 1/2 (cos (neg (* -2 ky))))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (cos (neg (* -2 ky)))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole 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)))))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole 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)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole 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))))))))))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* th (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* 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))))))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* 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))))))))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* 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)))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
#s(approx (+ (* (* th th) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow th 2)))))
#s(approx (* th th) #s(hole binary64 (pow th 2)))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (sin ky))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))))
#s(approx (* (+ (* (* th th) -1/6) 1) th) #s(hole binary64 (* -1/6 (pow th 3))))
#s(approx (* (+ (* (* th th) -1/6) 1) th) #s(hole binary64 (* (pow th 3) (- (/ 1 (pow th 2)) 1/6))))
#s(approx (+ (* (* th th) -1/6) 1) #s(hole binary64 (* -1/6 (pow th 2))))
#s(approx (+ (* (* th th) -1/6) 1) #s(hole binary64 (* (pow th 2) (- (/ 1 (pow th 2)) 1/6))))
#s(approx (* (+ (* (* th th) -1/6) 1) th) #s(hole binary64 (* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))))
Calls

9 calls:

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

rewrite268.0ms (3.5%)

Memory
21.8MiB live, 257.5MiB allocated; 40ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07575070
08204597
152434445
081034239
1240744239
Stop Event
saturated
node-limit
iter-limit
Counts
179 → 373
Calls
Call 1
Inputs
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(sin.f64 ky)
ky
(*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(literal 1 binary64)
(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 (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)
#s(literal -1/6 binary64)
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(*.f64 (sin.f64 th) #s(approx (sin ky) ky))
#s(approx (sin ky) ky)
(hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64))
(fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64))
#s(literal 2/45 binary64)
(*.f64 kx kx)
#s(literal -1/3 binary64)
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))
(cos.f64 (+.f64 ky ky))
(+.f64 ky ky)
#s(approx (sin th) th)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(*.f64 (sin.f64 th) (sin.f64 ky))
(hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky))
#s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)
(fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (sin th)))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (+ (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)))))))))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (+ (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))))))))))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (/ (sin th) (sin ky))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 3))) (/ (sin th) (sin ky)))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* (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)))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ 1 (sin ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (pow kx 2) (pow (sin ky) 3))) (/ 1 (sin ky)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 1))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole 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))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole 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))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- (+ 1/2 (pow kx 2)) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (+ 1 (* -1/3 (pow kx 2)))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(hole binary64 -1/3))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(hole binary64 (- (* 2/45 (pow kx 2)) 1/3)))
#s(approx (* kx kx) #s(hole binary64 (pow kx 2)))
#s(approx (+ (* -1/6 (* kx kx)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow kx 2)))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* (sin th) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* 2/45 (pow kx 6))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* (pow kx 6) (- 2/45 (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* (pow kx 6) (- (+ 2/45 (/ 1 (pow kx 4))) (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* (pow kx 6) (- (+ 2/45 (+ (/ 1 (pow kx 4)) (* 1/2 (/ 1 (pow kx 6))))) (+ (* 1/2 (/ (cos (* 2 ky)) (pow kx 6))) (* 1/3 (/ 1 (pow kx 2))))))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (* 2/45 (pow kx 4))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (* (pow kx 4) (- 2/45 (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) #s(hole binary64 (* (pow kx 4) (- (+ 2/45 (/ 1 (pow kx 4))) (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(hole binary64 (* 2/45 (pow kx 2))))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(hole binary64 (* (pow kx 2) (- 2/45 (* 1/3 (/ 1 (pow kx 2)))))))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) #s(hole binary64 (* -1/6 (pow kx 3))))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) #s(hole binary64 (* (pow kx 3) (- (/ 1 (pow kx 2)) 1/6))))
#s(approx (+ (* -1/6 (* kx kx)) 1) #s(hole binary64 (* -1/6 (pow kx 2))))
#s(approx (+ (* -1/6 (* kx kx)) 1) #s(hole binary64 (* (pow kx 2) (- (/ 1 (pow kx 2)) 1/6))))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) #s(hole binary64 (* -1 (* (pow kx 3) (- 1/6 (/ 1 (pow kx 2)))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (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))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (/ (sin th) (sin kx))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* -1/2 (/ (* (pow ky 2) (sin th)) (pow (sin kx) 3))) (/ (sin th) (sin kx)))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* (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)))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ 1 (sin kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (pow ky 2) (pow (sin kx) 3))) (/ 1 (sin kx)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* (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)))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) #s(hole binary64 (+ (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))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (sin th))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* -1/6 (* (pow ky 2) (sin th)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* 1/120 (* (pow ky 2) (sin th)))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* ky (+ (sin th) (* (pow ky 2) (+ (* -1/6 (sin th)) (* (pow ky 2) (+ (* -1/5040 (* (pow ky 2) (sin th))) (* 1/120 (sin th))))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* 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))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* 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))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow ky 2))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (pow ky 2)))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 1/2))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (+ 1/2 (* -1 (pow ky 2)))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* 1/3 (pow ky 2)) 1)))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (+ 1/2 (* (pow ky 2) (- (* (pow ky 2) (+ 1/3 (* -2/45 (pow ky 2)))) 1)))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (+ 1 (* -2 (pow ky 2)))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* 2/3 (pow ky 2)) 2)))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/3 (* -4/45 (pow ky 2)))) 2)))))
#s(approx (+ ky ky) #s(hole binary64 (* 2 ky)))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* (sin ky) (sin th))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (* 1/2 (cos (* 2 ky)))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (cos (* 2 ky))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) #s(hole binary64 (- (+ 1/2 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))) (* 1/2 (cos (neg (* -2 ky)))))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (neg (* -2 ky)))))))
#s(approx (* (cos (+ ky ky)) 1/2) #s(hole binary64 (* 1/2 (cos (neg (* -2 ky))))))
#s(approx (cos (+ ky ky)) #s(hole binary64 (cos (neg (* -2 ky)))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole 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)))))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole 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)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) #s(hole 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))))))))))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* th (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* 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))))))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* 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))))))))))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) #s(hole binary64 (* 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)))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
#s(approx (+ (* (* th th) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow th 2)))))
#s(approx (* th th) #s(hole binary64 (pow th 2)))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (sin ky))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* -1/6 (* (pow th 2) (sin ky)))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* 1/120 (* (pow th 2) (sin ky)))))))))
#s(approx (* (sin th) (sin ky)) #s(hole binary64 (* th (+ (sin ky) (* (pow th 2) (+ (* -1/6 (sin ky)) (* (pow th 2) (+ (* -1/5040 (* (pow th 2) (sin ky))) (* 1/120 (sin ky))))))))))
#s(approx (* (+ (* (* th th) -1/6) 1) th) #s(hole binary64 (* -1/6 (pow th 3))))
#s(approx (* (+ (* (* th th) -1/6) 1) th) #s(hole binary64 (* (pow th 3) (- (/ 1 (pow th 2)) 1/6))))
#s(approx (+ (* (* th th) -1/6) 1) #s(hole binary64 (* -1/6 (pow th 2))))
#s(approx (+ (* (* th th) -1/6) 1) #s(hole binary64 (* (pow th 2) (- (/ 1 (pow th 2)) 1/6))))
#s(approx (* (+ (* (* th th) -1/6) 1) th) #s(hole binary64 (* -1 (* (pow th 3) (- 1/6 (/ 1 (pow th 2)))))))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (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) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sin.f64 ky)
ky
(*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))) #s(literal 1/2 binary64))
(pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal -1 binary64))
(pow.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/2 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(fabs.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(literal 1 binary64)
(pow.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/2 binary64))
(sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))))
(fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (neg.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (sin.f64 kx))
(hypot.f64 (neg.f64 (sin.f64 kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (sin.f64 ky))
(hypot.f64 (sin.f64 kx) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (neg.f64 (sin.f64 ky)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
kx
(sin.f64 th)
th
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (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)
(*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))
(fma.f64 #s(literal 1 binary64) th (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) th))
(+.f64 (*.f64 th #s(literal 1 binary64)) (*.f64 th (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))
(+.f64 (*.f64 #s(literal 1 binary64) th) (*.f64 (*.f64 (*.f64 th th) #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))
(fma.f64 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 th th)))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))
(+.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))
(*.f64 (fabs.f64 th) (fabs.f64 th))
(*.f64 (neg.f64 th) (neg.f64 th))
(*.f64 th th)
(pow.f64 (neg.f64 (fabs.f64 th)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 th)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 th) #s(literal 2 binary64))
(pow.f64 (neg.f64 th) #s(literal 2 binary64))
(pow.f64 th #s(literal 2 binary64))
(fabs.f64 (*.f64 th th))
#s(literal -1/6 binary64)
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(*.f64 (sin.f64 th) (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(/.f64 (neg.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky))) (neg.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)))
(*.f64 #s(approx (sin ky) ky) (sin.f64 th))
(*.f64 (sin.f64 th) #s(approx (sin ky) ky))
#s(approx (sin ky) ky)
(pow.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/2 binary64))
(sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))))
(fabs.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)))
(hypot.f64 (fabs.f64 #s(approx (sin ky) ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 #s(approx (sin ky) ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (fabs.f64 #s(approx (sin ky) ky)) (sin.f64 kx))
(hypot.f64 (neg.f64 #s(approx (sin ky) ky)) (fabs.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 #s(approx (sin ky) ky)) (neg.f64 (sin.f64 kx)))
(hypot.f64 (neg.f64 #s(approx (sin ky) ky)) (sin.f64 kx))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (fabs.f64 #s(approx (sin ky) ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) (neg.f64 #s(approx (sin ky) ky)))
(hypot.f64 (fabs.f64 (sin.f64 kx)) #s(approx (sin ky) ky))
(hypot.f64 (neg.f64 (sin.f64 kx)) (fabs.f64 #s(approx (sin ky) ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) (neg.f64 #s(approx (sin ky) ky)))
(hypot.f64 (neg.f64 (sin.f64 kx)) #s(approx (sin ky) ky))
(hypot.f64 #s(approx (sin ky) ky) (fabs.f64 (sin.f64 kx)))
(hypot.f64 #s(approx (sin ky) ky) (neg.f64 (sin.f64 kx)))
(hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))
(hypot.f64 (sin.f64 kx) (fabs.f64 #s(approx (sin ky) ky)))
(hypot.f64 (sin.f64 kx) (neg.f64 #s(approx (sin ky) ky)))
(hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky))
(*.f64 #s(approx (sin th) th) (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(pow.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(fabs.f64 (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
(fma.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
(fma.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 kx kx) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(fma.f64 (sin.f64 ky) (sin.f64 ky) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
(-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx) (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(+.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))
(+.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (neg.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
(fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) kx) kx #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64))
(fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) kx) kx) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 kx kx)) (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64))))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) kx) kx)))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) kx) kx) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) kx) kx))
(neg.f64 (-.f64 #s(literal 1/3 binary64) (*.f64 (*.f64 kx kx) #s(literal 2/45 binary64))))
(fma.f64 (*.f64 #s(literal 2/45 binary64) kx) kx #s(literal -1/3 binary64))
(fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64))
(fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64))
(-.f64 (*.f64 (*.f64 kx kx) #s(literal 2/45 binary64)) #s(literal 1/3 binary64))
(+.f64 (*.f64 (*.f64 kx kx) #s(literal 2/45 binary64)) #s(literal -1/3 binary64))
(+.f64 #s(literal -1/3 binary64) (*.f64 (*.f64 kx kx) #s(literal 2/45 binary64)))
#s(literal 2/45 binary64)
(*.f64 (fabs.f64 kx) (fabs.f64 kx))
(*.f64 (neg.f64 kx) (neg.f64 kx))
(*.f64 kx kx)
(pow.f64 (neg.f64 (fabs.f64 kx)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 kx)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 kx) #s(literal 2 binary64))
(pow.f64 (neg.f64 kx) #s(literal 2 binary64))
(pow.f64 kx #s(literal 2 binary64))
(fabs.f64 (*.f64 kx kx))
#s(literal -1/3 binary64)
(*.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 (sin.f64 ky)))
(*.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) (sin.f64 ky))
(pow.f64 (neg.f64 (fabs.f64 (sin.f64 ky))) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 (sin.f64 ky))) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (sin.f64 ky)) #s(literal 2 binary64))
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky ky)) (cos.f64 (+.f64 ky ky))) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(fabs.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(+.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 (+.f64 ky ky))))
(+.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))
(sin.f64 (+.f64 (neg.f64 (+.f64 ky ky)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (+.f64 ky ky)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (fma.f64 #s(literal -2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 (+.f64 ky ky)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(fma.f64 (cos.f64 ky) (cos.f64 ky) (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 ky ky))))
(cos.f64 (neg.f64 (fabs.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (neg.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (fabs.f64 (+.f64 ky ky))))
(cos.f64 (fabs.f64 (*.f64 #s(literal -2 binary64) ky)))
(cos.f64 (neg.f64 (+.f64 ky ky)))
(cos.f64 (fabs.f64 (+.f64 ky ky)))
(cos.f64 (*.f64 #s(literal -2 binary64) ky))
(cos.f64 (+.f64 ky ky))
(+.f64 (*.f64 (sin.f64 (+.f64 ky ky)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 (+.f64 ky ky)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 ky))))
(*.f64 #s(literal -2 binary64) (neg.f64 ky))
(*.f64 #s(literal 2 binary64) ky)
(*.f64 ky #s(literal 2 binary64))
(neg.f64 (*.f64 #s(literal -2 binary64) ky))
(-.f64 ky (neg.f64 ky))
(+.f64 ky ky)
#s(approx (sin th) th)
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky))))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky))))
(/.f64 (neg.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) (neg.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sin.f64 th))
(/.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th))) #s(literal 2 binary64))
(pow.f64 (fma.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/2 binary64))
(sqrt.f64 (fma.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(fabs.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(hypot.f64 (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))) (sin.f64 ky))
(hypot.f64 (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))) (sin.f64 ky))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))))
(hypot.f64 (fabs.f64 (sin.f64 ky)) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)))
(hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))))
(hypot.f64 (sin.f64 ky) (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))))
(hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)))
#s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))
(*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)
(*.f64 kx (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 kx #s(literal 1 binary64) (*.f64 kx (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64))))
(fma.f64 #s(literal 1 binary64) kx (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64)) kx))
(+.f64 (*.f64 kx #s(literal 1 binary64)) (*.f64 kx (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64))))
(+.f64 (*.f64 #s(literal 1 binary64) kx) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64)) kx))
(fma.f64 (*.f64 #s(literal -1/6 binary64) kx) kx #s(literal 1 binary64))
(fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 kx kx)))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64))))
(+.f64 (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64)))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (sin.f64 th))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 th)))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (/.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) (sin.f64 th)))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.f64 (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (sin.f64 th)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)))))) (*.f64 kx kx) (sin.f64 th)))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky)))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (pow.f64 (sin.f64 ky) #s(literal -3 binary64))) (/.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 ky)) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 kx kx) (/.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64)))))) (*.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 ky)) #s(literal 1/2 binary64))) (*.f64 kx kx) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 kx kx) (/.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (*.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal -3 binary64))) #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) (sin.f64 ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 kx kx) (sin.f64 ky)) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (pow.f64 (sin.f64 ky) #s(literal -3 binary64)))) (*.f64 kx kx) (/.f64 #s(literal 1 binary64) (sin.f64 ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 kx kx)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64))))) (sin.f64 ky)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 ky)) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (*.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))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin.f64 ky))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 kx kx) (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 ky))) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 kx kx) (/.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64))) (sin.f64 ky))) #s(literal 1/2 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal 1/3 binary64)) (sin.f64 ky)) #s(literal -1/2 binary64))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 ky))) (*.f64 kx kx) (sin.f64 ky)))
#s(approx (sin kx) kx)
#s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(literal 1 binary64))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) (*.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 ky) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 ky) #s(literal -8 binary64)))))) #s(literal -1/2 binary64))) (*.f64 kx kx)) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (-.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) #s(literal -1/3 binary64))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)))
#s(approx (* kx kx) (*.f64 kx kx))
#s(approx (+ (* -1/6 (* kx kx)) 1) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
#s(approx (sin kx) (sin.f64 kx))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx)) #s(literal 2/45 binary64)))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (*.f64 (-.f64 #s(literal 2/45 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 kx kx))) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx)) (+.f64 #s(literal 2/45 binary64) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx))) (/.f64 #s(literal 1/3 binary64) (*.f64 kx kx))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (*.f64 (-.f64 (+.f64 (fma.f64 (pow.f64 kx #s(literal -6 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx)))) #s(literal 2/45 binary64)) (fma.f64 (/.f64 (cos.f64 (+.f64 ky ky)) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx))) #s(literal 1/2 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 kx kx)))) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) #s(literal 2/45 binary64)))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (-.f64 #s(literal 2/45 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 kx kx)))))
#s(approx (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (*.f64 (+.f64 #s(literal 2/45 binary64) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx))) (/.f64 #s(literal 1/3 binary64) (*.f64 kx kx)))) (*.f64 (*.f64 kx kx) (*.f64 kx kx))))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) (*.f64 (*.f64 kx kx) #s(literal 2/45 binary64)))
#s(approx (+ (* 2/45 (* kx kx)) -1/3) (*.f64 (-.f64 #s(literal 2/45 binary64) (/.f64 #s(literal 1/3 binary64) (*.f64 kx kx))) (*.f64 kx kx)))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) (*.f64 (*.f64 (*.f64 kx kx) kx) #s(literal -1/6 binary64)))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 kx kx)) #s(literal 1/6 binary64)) (*.f64 (*.f64 kx kx) kx)))
#s(approx (+ (* -1/6 (* kx kx)) 1) (*.f64 (*.f64 kx kx) #s(literal -1/6 binary64)))
#s(approx (+ (* -1/6 (* kx kx)) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 kx kx)) #s(literal 1/6 binary64)) (*.f64 kx kx)))
#s(approx (* (+ (* -1/6 (* kx kx)) 1) kx) (neg.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 kx kx))) (*.f64 (*.f64 kx kx) kx))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) #s(literal 1/2 binary64) (*.f64 #s(literal 1/12 binary64) (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64)))))) (*.f64 ky ky) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/6 binary64)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal 1/120 binary64) (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 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (sin.f64 th)) (fma.f64 #s(literal -1/12 binary64) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) (fma.f64 #s(literal -1/240 binary64) (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) (/.f64 (*.f64 #s(literal -1/5040 binary64) (sin.f64 th)) (sin.f64 kx))))))))) (*.f64 ky ky) (/.f64 (*.f64 (sin.f64 th) #s(literal -1/6 binary64)) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (sin ky) ky)
#s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))
#s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 ky ky) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx)))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 ky ky) (sin.f64 th)) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) (/.f64 (sin.f64 th) (sin.f64 kx))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 ky ky)) (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 ky ky)) (*.f64 (*.f64 (sin.f64 kx) (sin.f64 th)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64)))))) (*.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (sin.f64 th)) (sin.f64 kx)) #s(literal 1/2 binary64))) (*.f64 ky ky) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (*.f64 (*.f64 ky ky) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) (sin.f64 kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 (*.f64 (*.f64 (*.f64 ky ky) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (pow.f64 (sin.f64 kx) #s(literal -3 binary64)))) (*.f64 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))))
#s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 ky ky)) (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (sin.f64 kx)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (*.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))))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 kx)) #s(literal 1/2 binary64) (sin.f64 kx)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 ky ky) (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/3 binary64)) (sin.f64 kx))) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)))
#s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 ky ky) (/.f64 (-.f64 #s(literal 2/45 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/2 binary64))) (sin.f64 kx))) #s(literal 1/2 binary64) (*.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal 1/3 binary64)) (sin.f64 kx)) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) ky))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (*.f64 (*.f64 ky ky) (sin.f64 th)) #s(literal -1/6 binary64) (sin.f64 th)) ky))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 ky ky) (sin.f64 th)) #s(literal 1/120 binary64) (*.f64 (sin.f64 th) #s(literal -1/6 binary64))) (*.f64 ky ky) (sin.f64 th)) ky))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 th) (*.f64 (fma.f64 (*.f64 (*.f64 ky ky) (sin.f64 th)) #s(literal -1/5040 binary64) (*.f64 (sin.f64 th) #s(literal 1/120 binary64))) (*.f64 ky ky))) (*.f64 ky ky) (sin.f64 th)) ky))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx)))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (*.f64 (fma.f64 (neg.f64 (*.f64 ky ky)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (*.f64 (fma.f64 (-.f64 (*.f64 (+.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/12 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))))) (/.f64 #s(literal 1/120 binary64) (sin.f64 kx))) (*.f64 ky ky)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) ky))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 ky (*.f64 (*.f64 ky ky) (-.f64 (*.f64 (*.f64 ky ky) (+.f64 (/.f64 #s(literal 1/120 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/12 binary64) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 kx)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))) #s(literal -1/2 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 2/45 binary64) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 2/3 binary64) (pow.f64 (sin.f64 kx) #s(literal -8 binary64))))) (-.f64 (*.f64 (*.f64 #s(literal -1/12 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))) (fma.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) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 kx)) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64)) #s(literal 3/4 binary64) (*.f64 (pow.f64 (sin.f64 kx) #s(literal -4 binary64)) #s(literal 1/3 binary64)))))))) (fma.f64 (pow.f64 (sin.f64 kx) #s(literal -3 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 1/6 binary64) (sin.f64 kx))))) (/.f64 ky (sin.f64 kx))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 ky ky (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.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)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx (*.f64 ky ky)))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky))))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx (*.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)) (*.f64 ky ky))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) (*.f64 ky ky))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) (*.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)) (*.f64 ky ky)))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) (*.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)) (*.f64 ky ky)))
#s(approx (* (cos (+ ky ky)) 1/2) #s(literal 1/2 binary64))
#s(approx (* (cos (+ ky ky)) 1/2) (+.f64 (neg.f64 (*.f64 ky ky)) #s(literal 1/2 binary64)))
#s(approx (* (cos (+ ky ky)) 1/2) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal -1 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)))
#s(approx (* (cos (+ ky ky)) 1/2) (fma.f64 (fma.f64 (fma.f64 #s(literal -2/45 binary64) (*.f64 ky ky) #s(literal 1/3 binary64)) (*.f64 ky ky) #s(literal -1 binary64)) (*.f64 ky ky) #s(literal 1/2 binary64)))
#s(approx (cos (+ ky ky)) (fma.f64 #s(literal -2 binary64) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (cos (+ ky ky)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 2/3 binary64) #s(literal -2 binary64)) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (cos (+ ky ky)) (fma.f64 (fma.f64 (fma.f64 #s(literal -4/45 binary64) (*.f64 ky ky) #s(literal 2/3 binary64)) (*.f64 ky ky) #s(literal -2 binary64)) (*.f64 ky ky) #s(literal 1 binary64)))
#s(approx (+ ky ky) (+.f64 ky ky))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
#s(approx (* (cos (+ ky ky)) 1/2) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
#s(approx (cos (+ ky ky)) (cos.f64 (+.f64 ky ky)))
#s(approx (+ (* (+ (* (+ (* 2/45 (* kx kx)) -1/3) (* kx kx)) 1) (* kx kx)) (- 1/2 (* (cos (+ ky ky)) 1/2))) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (- 1/2 (* (cos (+ ky ky)) 1/2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (* (cos (+ ky ky)) 1/2) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
#s(approx (cos (+ ky ky)) (cos.f64 (+.f64 ky ky)))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (*.f64 th (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (*.f64 (fma.f64 (*.f64 (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) #s(literal -1/6 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 th 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))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (sin ky) (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 th 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))) #s(literal 1/120 binary64))) (*.f64 th th) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (*.f64 th th)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 th th) #s(literal 1/120 binary64)) (/.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))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 th th) #s(literal -1/5040 binary64)) (/.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))) #s(literal 1/120 binary64))) (*.f64 th th) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1/6 binary64))) (*.f64 th th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) th))
#s(approx (sin th) 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 (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 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 (+ (* (* th th) -1/6) 1) (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (* th th) (*.f64 th th))
#s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (sin.f64 ky) (sin.f64 ky)) th))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 th th) (sin.f64 ky)) #s(literal 1/120 binary64) (*.f64 (sin.f64 ky) #s(literal -1/6 binary64))) (*.f64 th th) (sin.f64 ky)) th))
#s(approx (* (sin th) (sin ky)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 ky) (*.f64 (fma.f64 (*.f64 (*.f64 th th) (sin.f64 ky)) #s(literal -1/5040 binary64) (*.f64 (sin.f64 ky) #s(literal 1/120 binary64))) (*.f64 th th))) (*.f64 th th) (sin.f64 ky)) th))
#s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))
#s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 th th) 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th)))
#s(approx (* (+ (* (* th th) -1/6) 1) th) (neg.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 th th))) (*.f64 (*.f64 th th) th))))

eval51.0ms (0.7%)

Memory
22.6MiB live, 111.8MiB allocated; 10ms collecting garbage
Compiler

Compiled 5 155 to 1 970 computations (61.8% saved)

prune72.0ms (1%)

Memory
-17.7MiB live, 126.7MiB allocated; 14ms collecting garbage
Pruning

77 alts after pruning (69 fresh and 8 done)

PrunedKeptTotal
New32728355
Fresh114152
Picked235
Done055
Total34077417
Accuracy
100.0%
Counts
417 → 77
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.2%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 kx)))
96.6%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
52.2%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
51.8%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
52.0%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))
75.3%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))
50.7%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
31.7%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
61.2%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
41.6%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
41.6%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
42.2%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
43.0%
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
17.9%
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
17.9%
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
27.8%
(/.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
44.7%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
22.9%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
99.6%
(*.f64 (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
99.6%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
47.7%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) th))
55.0%
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
75.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
44.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))))) #s(approx (sin th) th))
14.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
24.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
13.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
25.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
14.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
18.0%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
14.7%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
17.2%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
30.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
11.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
30.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
33.5%
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
64.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
51.7%
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky))))
61.1%
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
99.5%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))
54.9%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))) (sin.f64 th))
18.0%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
75.4%
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))) (sin.f64 th))
31.0%
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
54.8%
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky))) (sin.f64 th)))
75.5%
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 th)))
31.0%
(*.f64 (sin.f64 ky) (*.f64 #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) (sin.f64 th)))
31.5%
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky))))
31.0%
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx))))
47.6%
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th)))
7.3%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
27.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
16.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
14.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
39.3%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) (sin.f64 ky))) (sin.f64 th))
14.7%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
25.6%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
15.7%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
13.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
18.0%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
18.4%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
50.6%
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
53.0%
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
26.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
31.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
14.0%
#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 (*.f64 th th) #s(literal -1/6 binary64))))))
14.2%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
14.0%
#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)))
14.0%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
7.6%
#s(approx (* (/ (sin 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 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
9.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
6.2%
#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 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 th th) th)))))
9.1%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
14.3%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) th))
75.3%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
29.8%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
25.5%
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
Compiler

Compiled 3 213 to 2 119 computations (34% saved)

regimes294.0ms (3.9%)

Memory
-0.8MiB live, 420.8MiB allocated; 25ms collecting garbage
Counts
118 → 1
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(*.f64 (*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx))))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (sin.f64 ky) (*.f64 #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 ky ky (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) 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) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (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)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) (/.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) (sin.f64 ky)))
(*.f64 (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sqrt.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) (sin.f64 kx)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx))))))) (sin.f64 th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx))))))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) 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)) (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 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) #s(literal -1/6 binary64) (*.f64 (*.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) #s(literal -3 binary64))) #s(literal -1/2 binary64))) (*.f64 ky ky) (/.f64 (sin.f64 th) (sin.f64 kx))) ky))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 th)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) #s(literal -6 binary64))))) (*.f64 ky ky) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (sin.f64 th))) ky))
Outputs
(*.f64 (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
Calls

9 calls:

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

Compiled 40 to 51 computations (-27.5% saved)

regimes351.0ms (4.6%)

Memory
34.4MiB live, 473.4MiB allocated; 142ms collecting garbage
Counts
103 → 1
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(*.f64 (*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx))))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (sin.f64 ky) (*.f64 #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 ky ky (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) 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) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (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)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky))))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) (/.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) (sin.f64 ky)))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
Calls

9 calls:

70.0ms
(sin.f64 ky)
70.0ms
ky
35.0ms
(sin.f64 th)
31.0ms
kx
31.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
99.6%1(sin.f64 th)
99.6%1(sin.f64 kx)
99.6%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
99.6%1(sin.f64 ky)
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(*.f64 (/.f64 (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%1kx
99.6%1ky
99.6%1th
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes364.0ms (4.8%)

Memory
-9.5MiB live, 516.3MiB allocated; 66ms collecting garbage
Counts
96 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(*.f64 (*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx))))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (sin.f64 ky) (*.f64 #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 ky ky (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) th)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (pow.f64 (sin.f64 ky) #s(literal -2 binary64))) (sin.f64 ky))) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (+.f64 (cos.f64 (+.f64 kx kx)) (cos.f64 (+.f64 ky ky)))))))))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 ky ky) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) 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) (+.f64 (-.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) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 (fma.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (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)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky))) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 #s(approx (pow (sin kx) 2) (*.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx))) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
Calls

9 calls:

87.0ms
th
32.0ms
(sin.f64 ky)
31.0ms
kx
28.0ms
ky
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))
Results
AccuracySegmentsBranch
80.9%3(sin.f64 th)
77.2%3(sin.f64 kx)
77.1%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
78.8%3(sin.f64 ky)
85.3%5(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
73.8%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))
79.3%3kx
77.0%2ky
80.9%2th
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes51.0ms (0.7%)

Memory
-26.6MiB live, 71.3MiB allocated; 8ms collecting garbage
Counts
66 → 5
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(*.f64 (*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx))))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (sin.f64 ky) (*.f64 #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) kx))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) #s(approx (sin kx) kx))) (sin.f64 th))
Calls

2 calls:

28.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
19.0ms
th
Results
AccuracySegmentsBranch
85.2%5(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
77.9%2th
Compiler

Compiled 13 to 14 computations (-7.7% saved)

regimes19.0ms (0.3%)

Memory
33.3MiB live, 33.3MiB allocated; 0ms collecting garbage
Counts
65 → 5
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(*.f64 (*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx))))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (sin.f64 ky) (*.f64 #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
Calls

1 calls:

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)))))
Results
AccuracySegmentsBranch
85.2%5(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes176.0ms (2.3%)

Memory
-16.3MiB live, 264.3MiB allocated; 20ms collecting garbage
Counts
63 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(*.f64 (*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx))))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (sin.f64 ky) (*.f64 #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))))) (sin.f64 th))
Outputs
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) (sin.f64 th))
Calls

7 calls:

65.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)))))
19.0ms
ky
19.0ms
(sin.f64 th)
19.0ms
th
18.0ms
kx
Results
AccuracySegmentsBranch
76.8%2ky
66.9%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
76.8%2(sin.f64 ky)
67.0%2kx
64.2%1th
64.2%1(sin.f64 th)
76.8%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 34 computations (-47.8% saved)

regimes129.0ms (1.7%)

Memory
-6.9MiB live, 181.5MiB allocated; 13ms collecting garbage
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) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) th)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) (*.f64 (sin.f64 th) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))) ky)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (sqrt.f64 (fma.f64 #s(approx (sin ky) ky) #s(approx (sin ky) ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 kx kx)))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(*.f64 (*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sin.f64 th))
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 (fma.f64 #s(literal 2 binary64) ky (/.f64 (PI.f64) #s(literal 2 binary64)))))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) (sin.f64 ky))) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64)) (*.f64 ky ky) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) kx)))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 kx))))
(*.f64 (sin.f64 ky) #s(approx (* (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th)) (/.f64 (sin.f64 th) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 ky) #s(approx (sin th) th)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 2/45 binary64) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx) kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (fma.f64 #s(literal 2/45 binary64) (*.f64 kx kx) #s(literal -1/3 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))) #s(approx (sin th) th))
(*.f64 (sin.f64 ky) (*.f64 #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 ky) #s(approx (/ 1 (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 #s(literal 1 binary64) (sin.f64 kx)))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (hypot.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 #s(approx (sin ky) ky) #s(literal 2 binary64))))) (sin.f64 th))
(*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))) (sin.f64 th)))
(*.f64 (*.f64 #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
Calls

5 calls:

31.0ms
(sin.f64 ky)
29.0ms
(sin.f64 kx)
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))
22.0ms
ky
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)))))
Results
AccuracySegmentsBranch
64.2%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))
64.2%1(sin.f64 kx)
70.3%2(sin.f64 ky)
70.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)))))
66.0%2ky
Compiler

Compiled 32 to 35 computations (-9.4% saved)

regimes147.0ms (1.9%)

Memory
50.4MiB live, 182.0MiB allocated; 46ms collecting garbage
Counts
27 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 (fma.f64 (*.f64 ky ky) #s(literal 1/6 binary64) #s(literal 1 binary64)) ky)) (sin.f64 ky))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.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

9 calls:

38.0ms
(sin.f64 kx)
37.0ms
kx
26.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))
7.0ms
th
7.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
50.4%3(sin.f64 th)
51.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))
50.5%2th
55.1%3(sin.f64 kx)
48.9%3ky
51.1%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
51.1%2kx
55.0%4(sin.f64 ky)
58.0%3(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes25.0ms (0.3%)

Memory
-28.6MiB live, 16.4MiB allocated; 8ms collecting garbage
Counts
25 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
Calls

2 calls:

16.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
7.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
55.1%3(sin.f64 kx)
51.9%2(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes8.0ms (0.1%)

Memory
9.0MiB live, 9.0MiB allocated; 0ms collecting garbage
Counts
24 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 #s(approx (sqrt (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2)))) (/.f64 #s(literal 1 binary64) ky)) (sin.f64 ky))) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (- 1/2 (* 1/2 (cos (* 2 ky)))) (- 1/2 (* 1/2 (cos (* 2 kx))))))) (*.f64 (sqrt.f64 #s(approx (/ 1 (- 1/2 (* (cos (+ ky ky)) 1/2))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))) (sin.f64 ky))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) (sin.f64 th))
Outputs
(/.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
Calls

1 calls:

7.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
54.2%3(sin.f64 kx)
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes7.0ms (0.1%)

Memory
6.6MiB live, 6.6MiB allocated; 0ms collecting garbage
Counts
19 → 3
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
Outputs
(/.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)) #s(approx (sin ky) ky)) (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
Calls

1 calls:

5.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
54.1%3(sin.f64 kx)
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes12.0ms (0.2%)

Memory
11.5MiB live, 11.5MiB allocated; 0ms collecting garbage
Counts
18 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
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

2 calls:

5.0ms
(sin.f64 kx)
5.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.9%2(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
50.4%2(sin.f64 kx)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes45.0ms (0.6%)

Memory
-47.0MiB live, 11.3MiB allocated; 28ms collecting garbage
Counts
17 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
Outputs
#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))
Calls

2 calls:

39.0ms
(sin.f64 ky)
5.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
45.1%2(sin.f64 ky)
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 14 to 15 computations (-7.1% saved)

regimes39.0ms (0.5%)

Memory
37.4MiB live, 37.4MiB allocated; 0ms collecting garbage
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) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky)))))))) #s(approx (sin th) th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (sin th) th))
Outputs
(/.f64 (*.f64 (sin.f64 th) #s(approx (sin ky) ky)) (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
Calls

8 calls:

5.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
5.0ms
(sin.f64 th)
5.0ms
kx
5.0ms
(sin.f64 kx)
5.0ms
th
Results
AccuracySegmentsBranch
42.2%1ky
42.2%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))
42.2%1(sin.f64 th)
45.2%2(sin.f64 kx)
42.2%1th
44.6%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
44.9%2kx
42.2%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)))))
Compiler

Compiled 38 to 47 computations (-23.7% saved)

regimes82.0ms (1.1%)

Memory
3.1MiB live, 52.9MiB allocated; 4ms collecting garbage
Counts
13 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (+ (* kx kx) (- 1/2 (* 1/2 (cos (* 2 ky))))) (*.f64 kx kx))))) #s(approx (sin th) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 kx kx #s(approx (- 1/2 (* 1/2 (cos (* 2 ky)))) (*.f64 ky ky)))))) #s(approx (sin th) th))
Outputs
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Calls

9 calls:

49.0ms
(sin.f64 ky)
4.0ms
kx
4.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
4.0ms
(sin.f64 kx)
4.0ms
(sin.f64 th)
Results
AccuracySegmentsBranch
41.8%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)))))
36.8%2ky
35.8%2th
37.7%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))
35.8%3(sin.f64 th)
36.6%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
36.9%2kx
36.8%2(sin.f64 ky)
36.0%2(sin.f64 kx)
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes23.0ms (0.3%)

Memory
-15.5MiB live, 29.0MiB allocated; 4ms collecting garbage
Counts
10 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (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)) (sin.f64 th))
Outputs
#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 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin.f64 th))
Calls

5 calls:

9.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)))))
3.0ms
kx
3.0ms
(sin.f64 ky)
3.0ms
ky
3.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
Results
AccuracySegmentsBranch
31.5%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
34.1%2ky
34.4%2(sin.f64 ky)
31.5%1kx
36.4%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 20 to 27 computations (-35% saved)

regimes39.0ms (0.5%)

Memory
13.0MiB live, 56.7MiB allocated; 4ms collecting garbage
Counts
9 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #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 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin 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 (*.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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 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 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #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) (*.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) th))
Calls

9 calls:

14.0ms
th
3.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
3.0ms
(sin.f64 ky)
3.0ms
(sin.f64 kx)
3.0ms
(sin.f64 th)
Results
AccuracySegmentsBranch
16.7%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
16.8%2kx
17.9%2ky
16.6%2(sin.f64 th)
18.1%2(sin.f64 ky)
16.4%2th
14.3%1(sin.f64 kx)
20.1%2(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
19.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 40 to 51 computations (-27.5% saved)

regimes2.0ms (0%)

Memory
3.6MiB live, 3.6MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) 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 (*.f64 (*.f64 th th) th) #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) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (*.f64 (*.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) th))
Calls

1 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))
Results
AccuracySegmentsBranch
20.1%2(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
Compiler

Compiled 15 to 13 computations (13.3% saved)

regimes22.0ms (0.3%)

Memory
-36.5MiB live, 18.9MiB allocated; 3ms collecting garbage
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) th))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) th))
Calls

8 calls:

14.0ms
ky
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
kx
1.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
14.3%1th
14.3%1(sin.f64 th)
14.3%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
14.3%1kx
14.3%1ky
14.3%1(sin.f64 ky)
14.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)))))
14.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 38 to 47 computations (-23.7% saved)

bsearch24.0ms (0.3%)

Memory
32.3MiB live, 32.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
22.0ms
6.900444604052358e-19
1.0848978288794003e-13
Samples
17.0ms144×0valid
Compiler

Compiled 226 to 216 computations (4.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-sin: 8.0ms (60.4% of total)
ival-pow2: 3.0ms (22.6% of total)
ival-sqrt: 1.0ms (7.5% of total)
ival-div!: 1.0ms (7.5% of total)
ival-mult!: 1.0ms (7.5% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9272175432775246
0.9879022218596901
0.0ms
0.0008042406834185176
0.030717426166300913
0.0ms
-0.03125711308821178
4.807811201280451e-307
0.0ms
-0.9998643276105695
-0.9938446992938692
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9272175432775246
0.9879022218596901
0.0ms
0.0008042406834185176
0.030717426166300913
0.0ms
-0.03125711308821178
4.807811201280451e-307
0.0ms
-0.9998643276105695
-0.9938446992938692
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch36.0ms (0.5%)

Memory
-38.3MiB live, 52.2MiB allocated; 9ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
30.0ms
0.00072353508827945
370.87398107203154
Samples
24.0ms144×0valid
Compiler

Compiled 451 to 423 computations (6.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-sin: 16.0ms (77.6% of total)
ival-pow2: 3.0ms (14.5% of total)
ival-sqrt: 1.0ms (4.8% of total)
ival-div!: 1.0ms (4.8% of total)
ival-mult!: 1.0ms (4.8% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.03125711308821178
4.807811201280451e-307
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0008042406834185176
0.030717426166300913
0.0ms
-0.03125711308821178
4.807811201280451e-307
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.16769117862448432
0.17088233527028932
0.0ms
-0.11066806888920806
-0.009282520089433394
Compiler

Compiled 19 to 18 computations (5.3% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.16769117862448432
0.17088233527028932
0.0ms
-0.15778503123700074
-0.1484386424124124
Compiler

Compiled 19 to 18 computations (5.3% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.008604631598603437
0.024024265128302285
0.0ms
-0.22236035861825248
-0.20301510135710776
Compiler

Compiled 19 to 18 computations (5.3% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0008042406834185176
0.030717426166300913
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0008042406834185176
0.030717426166300913
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.17088233527028932
0.19698239751614524
Compiler

Compiled 19 to 18 computations (5.3% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2162921273943912e-10
2.2341351699437912e-10
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch12.0ms (0.2%)

Memory
22.2MiB live, 22.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
9.429641831315936e-24
2.858309821128767e-20
Samples
6.0ms128×0valid
Compiler

Compiled 370 to 363 computations (1.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-sin: 3.0ms (82.6% of total)
ival-mult!: 1.0ms (27.5% of total)
adjust: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
8.416240830808555e-300
9.335501585054868e-296
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
8.416240830808555e-300
9.335501585054868e-296
Compiler

Compiled 18 to 19 computations (-5.6% saved)

derivations900.0ms (11.9%)

Memory
14.3MiB live, 990.1MiB allocated; 179ms collecting garbage
Stop Event
fuel
Compiler

Compiled 319 to 184 computations (42.3% saved)

preprocess741.0ms (9.8%)

Memory
41.4MiB live, 1 327.2MiB allocated; 343ms collecting garbage
Remove

(negabs th)

(abs kx)

Compiler

Compiled 7 362 to 5 787 computations (21.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...