Toniolo and Linder, Equation (3b), real

Time bar (total: 7.9s)

start0.0ms (0%)

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

analyze225.0ms (2.9%)

Memory
49.9MiB live, 379.4MiB allocated; 79ms 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 (22.7%)

Memory
15.9MiB live, 2 216.6MiB allocated; 390ms collecting garbage
Samples
1.5s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
ival-sin: 745.0ms (62% of total)
ival-pow2: 264.0ms (22% of total)
ival-div!: 58.0ms (4.8% of total)
ival-sqrt: 57.0ms (4.7% of total)
ival-mult!: 56.0ms (4.7% of total)
ival-add!: 19.0ms (1.6% of total)
adjust: 2.0ms (0.2% of total)
Bogosity

preprocess50.0ms (0.6%)

Memory
7.8MiB live, 54.3MiB allocated; 4ms 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)

series34.0ms (0.4%)

Memory
16.5MiB live, 62.2MiB allocated; 4ms 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
5.0ms
ky
@-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)
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
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)
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)

rewrite400.0ms (5.1%)

Memory
41.9MiB live, 258.0MiB allocated; 54ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04242381
04402250
130392218
0102861918
1356301918
Stop Event
iter-limit
node-limit
iter-limit
Counts
73 → 142
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))))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal -1 binary64))
(/.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 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(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))
(/.f64 #s(literal 1 binary64) (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))))))))
(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))
(/.f64 (-.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) ky))))) #s(literal 3 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (+.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (*.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 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.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 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 6 binary64)) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (+.f64 (pow.f64 (sin.f64 kx) #s(literal 4 binary64)) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) #s(literal 2 binary64)))))
(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))

eval22.0ms (0.3%)

Memory
-27.5MiB live, 38.1MiB allocated; 9ms collecting garbage
Compiler

Compiled 2 077 to 788 computations (62.1% saved)

prune25.0ms (0.3%)

Memory
12.2MiB live, 56.4MiB allocated; 8ms collecting garbage
Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New10825133
Fresh000
Picked101
Done000
Total10925134
Accuracy
99.9%
Counts
134 → 25
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.6%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (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 074 to 998 computations (7.1% saved)

series73.0ms (0.9%)

Memory
9.1MiB live, 97.3MiB allocated; 14ms collecting garbage
Counts
38 → 104
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 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (sin.f64 th))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (* (/ 1 (sin ky)) (sqrt (+ (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 (/ (* 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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (sin kx) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)))
#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))))))
Calls

9 calls:

TimeVariablePointExpression
39.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) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))
7.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) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))
6.0ms
ky
@-inf
((* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) 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) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))
5.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) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))
5.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) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))))

rewrite386.0ms (4.9%)

Memory
-47.6MiB live, 239.7MiB allocated; 109ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06483773
07083422
146473402
082313207
1254673207
Stop Event
iter-limit
node-limit
iter-limit
Counts
142 → 346
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 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (sin.f64 th))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
#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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (* (/ 1 (sin ky)) (sqrt (+ (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 (/ (* 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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (sin kx) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)))
#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))))))
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 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sin.f64 ky)
ky
(pow.f64 (+.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)))) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 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)))))))
(sqrt.f64 (+.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)))))
(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))
(sin.f64 kx)
kx
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (sin.f64 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)))))) (sin.f64 th))
(*.f64 (sin.f64 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 th) (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 (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)))))))
(pow.f64 (/.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))))) (sin.f64 ky)) #s(literal -1 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 #s(literal 1 binary64) (/.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))))) (sin.f64 ky)))
(/.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))))
(/.f64 (-.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(/.f64 (-.f64 (*.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (fma.f64 kx kx #s(literal 1/2 binary64))) (pow.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (+.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (fma.f64 (*.f64 kx kx) (*.f64 kx kx) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (*.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) #s(literal 3 binary64)) (*.f64 (pow.f64 (cos.f64 (+.f64 ky ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (fma.f64 kx kx #s(literal 1/2 binary64)) (+.f64 (pow.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.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 kx) (fabs.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 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 (neg.f64 (sin.f64 ky)) (neg.f64 (sin.f64 ky)) (*.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 #s(literal 1/2 binary64) (-.f64 (*.f64 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 kx kx))
(*.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 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (+.f64 ky ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
(/.f64 (-.f64 (cos.f64 (-.f64 ky ky)) (cos.f64 (+.f64 ky ky))) #s(literal 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)))))
(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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (/.f64 (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 ky)) #s(literal -1 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 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 #s(literal 1 binary64) (/.f64 (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 ky)))
(/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (pow.f64 (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))) #s(literal 2 binary64)) (pow.f64 (sin.f64 kx) #s(literal 4 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 (pow.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)) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)) #s(literal 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 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (sin.f64 kx) #s(literal 6 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 ky ky) (fma.f64 (*.f64 ky ky) #s(literal -1/3 binary64) #s(literal 1 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 kx) #s(literal 4 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 (pow.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)) #s(literal 3 binary64)) (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 (pow.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)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)) #s(literal 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 (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 (*.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))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)) (*.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 (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 (*.f64 ky 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 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/27 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 ky ky)) (*.f64 ky ky)))) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64))) (*.f64 #s(literal 1 binary64) (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64))))))
(/.f64 (fma.f64 #s(literal -1/27 binary64) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 ky ky)) (*.f64 ky ky)) #s(literal 1 binary64)) (fma.f64 (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)) (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 ky ky) #s(literal -1/3 binary64)) #s(literal 1 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 (neg.f64 (fabs.f64 ky)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 ky)) #s(literal 2 binary64))
(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))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 ky ky)))
(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 (sin.f64 kx) (sin.f64 kx))
(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 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
(/.f64 (-.f64 (cos.f64 (-.f64 kx kx)) (cos.f64 (+.f64 kx kx))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (-.f64 #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)) #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 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (neg.f64 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(/.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (+.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)))) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 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)))))))
(sqrt.f64 (+.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)))))
(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))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (sin.f64 th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (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) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (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 (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(literal 1 binary64))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin.f64 ky))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) #s(literal 1/2 binary64) (sin.f64 ky)))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (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 (*.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)) (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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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)) (-.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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) #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)) (-.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) (/.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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 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 (sin.f64 th) (sin.f64 ky))))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 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)))))) (sin.f64 ky)))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (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 (-.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)))))
#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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (/.f64 ky (sin.f64 kx)))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (fma.f64 (/.f64 (*.f64 ky ky) (sin.f64 kx)) #s(literal 1/2 binary64) (sin.f64 kx)))
#s(approx (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (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)) (-.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 (+ (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 (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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (fma.f64 (fma.f64 #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)) (sin.f64 kx)) (fma.f64 #s(literal 7/360 binary64) (sin.f64 kx) (/.f64 #s(literal 1/12 binary64) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)))) (*.f64 ky ky) (sin.f64 kx)) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (fma.f64 (fma.f64 #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)) (sin.f64 kx)) (fma.f64 #s(literal 7/360 binary64) (sin.f64 kx) (fma.f64 (fma.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/12 binary64) (fma.f64 #s(literal 31/15120 binary64) (sin.f64 kx) (fma.f64 (/.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 #s(literal 7/720 binary64) (sin.f64 kx))))) (*.f64 ky ky) (/.f64 #s(literal 1/12 binary64) (sin.f64 kx))))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)))) (*.f64 ky ky) (sin.f64 kx)) 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 (+ (* (+ (* (* ky ky) -1/3) 1) (* ky ky)) (- 1/2 (* 1/2 (cos (* 2 kx))))) (*.f64 (*.f64 (*.f64 ky ky) (*.f64 ky ky)) #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)) (*.f64 (*.f64 ky ky) (*.f64 ky ky))))
#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) (*.f64 (*.f64 ky ky) (*.f64 ky ky))) (/.f64 #s(literal 1 binary64) (*.f64 ky ky))) (fma.f64 (/.f64 (cos.f64 (+.f64 kx kx)) (*.f64 (*.f64 ky ky) (*.f64 ky ky))) #s(literal 1/2 binary64) #s(literal 1/3 binary64))) (*.f64 (*.f64 ky ky) (*.f64 ky ky))))
#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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 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))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 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)))))) (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 (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)))))))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (-.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/120 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 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 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 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)))))) (sin.f64 ky))) th))
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (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 (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/5040 binary64) (*.f64 (*.f64 th th) (sin.f64 ky))) (sqrt.f64 (/.f64 #s(literal 1 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 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 (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 th th) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 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)))))) (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))

eval93.0ms (1.2%)

Memory
0.1MiB live, 87.6MiB allocated; 11ms collecting garbage
Compiler

Compiled 4 828 to 1 922 computations (60.2% saved)

prune42.0ms (0.5%)

Memory
-10.5MiB live, 93.2MiB allocated; 13ms collecting garbage
Pruning

41 alts after pruning (38 fresh and 3 done)

PrunedKeptTotal
New28833321
Fresh15520
Picked235
Done000
Total30541346
Accuracy
100.0%
Counts
346 → 41
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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.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 (+ (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))))))
99.6%
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (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.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))
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 (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)))))) (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))
33.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 ky ky))) #s(literal -1/3 binary64) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #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))
16.7%
(*.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)))))))) #s(approx (sin th) th))
39.1%
(*.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) (-.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)))))))))) (sin.f64 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)) (-.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 (+ (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)))))) (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))
99.6%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (sin.f64 th))
47.6%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) #s(approx (sin th) th))
64.2%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
55.0%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)) (sin.f64 ky))) (sin.f64 th))
99.4%
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))) (sin.f64 th))
27.8%
(*.f64 (/.f64 #s(literal 1 binary64) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky))) (sin.f64 th))
99.5%
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)) (sin.f64 th))
24.5%
(*.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 (*.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))
27.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
14.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 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)))))) (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)))
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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 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))))))))
75.4%
#s(approx (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 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 (sin.f64 th) (sin.f64 ky))))
Compiler

Compiled 1 586 to 1 455 computations (8.3% saved)

series33.0ms (0.4%)

Memory
-16.9MiB live, 75.0MiB allocated; 6ms collecting garbage
Counts
40 → 115
Calls
Call 1
Inputs
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (sin.f64 th))
#s(literal 1 binary64)
(sin.f64 th)
th
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx
(sin.f64 ky)
ky
#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 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky)))
(/.f64 (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))
(hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky))
#s(approx (sin ky) ky)
(/.f64 (*.f64 (sin.f64 th) (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 (sin.f64 th) (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 (+ (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 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(fma.f64 kx kx #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)
(*.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 (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))))
(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)))
#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))
(*.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)
(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))
(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))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 kx kx)
#s(literal 1/120 binary64)
#s(literal -1/6 binary64)
Outputs
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (sin th)))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 1))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (+ (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) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 ky))))))
#s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- (+ 1/2 (pow kx 2)) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* kx kx) 1/2) #s(hole binary64 1/2))
#s(approx (+ (* kx kx) 1/2) #s(hole binary64 (+ 1/2 (pow kx 2))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow kx 2)))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6)))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6)))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 -1/6))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (- (* 1/120 (pow kx 2)) 1/6)))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6)))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(hole binary64 1/120))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(hole binary64 (+ 1/120 (* -1/5040 (pow kx 2)))))
#s(approx (* kx kx) #s(hole binary64 (pow kx 2)))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (* (/ 1 (sin ky)) (sqrt (+ (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (* (pow kx 2) (- (+ 1 (* 1/2 (/ 1 (pow kx 2)))) (* 1/2 (/ (cos (* 2 ky)) (pow kx 2)))))))
#s(approx (+ (* kx kx) 1/2) #s(hole binary64 (* (pow kx 2) (+ 1 (* 1/2 (/ 1 (pow kx 2)))))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* -1/5040 (pow kx 7))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* (pow kx 7) (- (* 1/120 (/ 1 (pow kx 2))) 1/5040))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* (pow kx 7) (- (* 1/120 (/ 1 (pow kx 2))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* (pow kx 7) (- (+ (* 1/120 (/ 1 (pow kx 2))) (/ 1 (pow kx 6))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (* -1/5040 (pow kx 6))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (* (pow kx 6) (- (* 1/120 (/ 1 (pow kx 2))) 1/5040))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (* (pow kx 6) (- (* 1/120 (/ 1 (pow kx 2))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (* (pow kx 6) (- (+ (* 1/120 (/ 1 (pow kx 2))) (/ 1 (pow kx 6))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (* -1/5040 (pow kx 4))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (* (pow kx 4) (- (* 1/120 (/ 1 (pow kx 2))) 1/5040))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (* (pow kx 4) (- (* 1/120 (/ 1 (pow kx 2))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(hole binary64 (* -1/5040 (pow kx 2))))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(hole binary64 (* (pow kx 2) (- (* 1/120 (/ 1 (pow kx 2))) 1/5040))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* -1 (* (pow kx 7) (- 1/5040 (* 1/120 (/ 1 (pow kx 2))))))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* -1 (* (pow kx 7) (- (+ 1/5040 (/ 1/6 (pow kx 4))) (* 1/120 (/ 1 (pow kx 2))))))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* -1 (* (pow kx 7) (- (+ 1/5040 (/ 1/6 (pow kx 4))) (+ (* 1/120 (/ 1 (pow kx 2))) (/ 1 (pow kx 6))))))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (sin kx) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)))
#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 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 ky))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 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 (+ (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) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (+ (pow kx 2) (pow ky 2))))
#s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow kx 2))))
#s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow kx 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 (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- (+ 1/2 (pow kx 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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (sin th)) #s(hole binary64 th))
#s(approx (* 1 (sin th)) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (* 1 (sin th)) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (* 1 (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 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
5.0ms
kx
@-inf
((/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (* 1 (sin th)) 1 (sin th) th (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky) (/ (* (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))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (+ (* kx kx) 1/2) 1/2 (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin kx) (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (+ (* -1/5040 (* kx kx)) 1/120) -1/5040 (* kx kx) 1/120 -1/6)
4.0ms
kx
@inf
((/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (* 1 (sin th)) 1 (sin th) th (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky) (/ (* (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))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (+ (* kx kx) 1/2) 1/2 (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin kx) (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (+ (* -1/5040 (* kx kx)) 1/120) -1/5040 (* kx kx) 1/120 -1/6)
4.0ms
ky
@-inf
((/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (* 1 (sin th)) 1 (sin th) th (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky) (/ (* (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))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (+ (* kx kx) 1/2) 1/2 (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin kx) (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (+ (* -1/5040 (* kx kx)) 1/120) -1/5040 (* kx kx) 1/120 -1/6)
3.0ms
ky
@inf
((/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (* 1 (sin th)) 1 (sin th) th (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky) (/ (* (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))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (+ (* kx kx) 1/2) 1/2 (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin kx) (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (+ (* -1/5040 (* kx kx)) 1/120) -1/5040 (* kx kx) 1/120 -1/6)
3.0ms
kx
@0
((/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (* 1 (sin th)) 1 (sin th) th (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin th)) (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky) (/ (* (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))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (+ (* kx kx) 1/2) 1/2 (* (cos (+ ky ky)) 1/2) (cos (+ ky ky)) (+ ky ky) (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (sin kx) (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (+ (* -1/5040 (* kx kx)) 1/120) -1/5040 (* kx kx) 1/120 -1/6)

rewrite257.0ms (3.3%)

Memory
26.3MiB live, 212.6MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06774095
07363781
147933761
084303539
1264053539
Stop Event
iter-limit
node-limit
iter-limit
Counts
155 → 361
Calls
Call 1
Inputs
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(*.f64 #s(literal 1 binary64) (sin.f64 th))
#s(literal 1 binary64)
(sin.f64 th)
th
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx
(sin.f64 ky)
ky
#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 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky)))
(/.f64 (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))
(hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky))
#s(approx (sin ky) ky)
(/.f64 (*.f64 (sin.f64 th) (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 (sin.f64 th) (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 (+ (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 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))
(fma.f64 kx kx #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)
(*.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 (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))))
(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)))
#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))
(*.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)
(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))
(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))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 kx kx)
#s(literal 1/120 binary64)
#s(literal -1/6 binary64)
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (sin th)))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 1))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (+ (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) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 ky))))))
#s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- (+ 1/2 (pow kx 2)) (* 1/2 (cos (* 2 ky))))))
#s(approx (+ (* kx kx) 1/2) #s(hole binary64 1/2))
#s(approx (+ (* kx kx) 1/2) #s(hole binary64 (+ 1/2 (pow kx 2))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow kx 2)))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6)))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6)))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 -1/6))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (- (* 1/120 (pow kx 2)) 1/6)))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6)))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(hole binary64 1/120))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(hole binary64 (+ 1/120 (* -1/5040 (pow kx 2)))))
#s(approx (* kx kx) #s(hole binary64 (pow kx 2)))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (* (/ 1 (sin ky)) (sqrt (+ (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (* (pow kx 2) (- (+ 1 (* 1/2 (/ 1 (pow kx 2)))) (* 1/2 (/ (cos (* 2 ky)) (pow kx 2)))))))
#s(approx (+ (* kx kx) 1/2) #s(hole binary64 (* (pow kx 2) (+ 1 (* 1/2 (/ 1 (pow kx 2)))))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* -1/5040 (pow kx 7))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* (pow kx 7) (- (* 1/120 (/ 1 (pow kx 2))) 1/5040))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* (pow kx 7) (- (* 1/120 (/ 1 (pow kx 2))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* (pow kx 7) (- (+ (* 1/120 (/ 1 (pow kx 2))) (/ 1 (pow kx 6))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (* -1/5040 (pow kx 6))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (* (pow kx 6) (- (* 1/120 (/ 1 (pow kx 2))) 1/5040))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (* (pow kx 6) (- (* 1/120 (/ 1 (pow kx 2))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) #s(hole binary64 (* (pow kx 6) (- (+ (* 1/120 (/ 1 (pow kx 2))) (/ 1 (pow kx 6))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (* -1/5040 (pow kx 4))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (* (pow kx 4) (- (* 1/120 (/ 1 (pow kx 2))) 1/5040))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(hole binary64 (* (pow kx 4) (- (* 1/120 (/ 1 (pow kx 2))) (+ 1/5040 (/ 1/6 (pow kx 4)))))))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(hole binary64 (* -1/5040 (pow kx 2))))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(hole binary64 (* (pow kx 2) (- (* 1/120 (/ 1 (pow kx 2))) 1/5040))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* -1 (* (pow kx 7) (- 1/5040 (* 1/120 (/ 1 (pow kx 2))))))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* -1 (* (pow kx 7) (- (+ 1/5040 (/ 1/6 (pow kx 4))) (* 1/120 (/ 1 (pow kx 2))))))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) #s(hole binary64 (* -1 (* (pow kx 7) (- (+ 1/5040 (/ 1/6 (pow kx 4))) (+ (* 1/120 (/ 1 (pow kx 2))) (/ 1 (pow kx 6))))))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (sin kx) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)))
#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 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 ky))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 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 (+ (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) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (+ (pow kx 2) (pow ky 2))))
#s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow kx 2))))
#s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow kx 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 (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) #s(hole binary64 (- (+ 1/2 (pow kx 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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #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 (sin th)) #s(hole binary64 th))
#s(approx (* 1 (sin th)) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (* 1 (sin th)) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (* 1 (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 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 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)) #s(literal -1 binary64))
(/.f64 (neg.f64 (sin.f64 th)) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))
(*.f64 (sin.f64 th) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (sin.f64 th))
(sin.f64 th)
#s(literal 1 binary64)
(*.f64 (sin.f64 th) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (sin.f64 th))
(sin.f64 th)
th
(*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (neg.f64 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(/.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(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) (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))))))))
(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 ky)
ky
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) #s(approx (sin th) th))
#s(approx (sin th) th)
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(approx (sin ky) ky)) (sin.f64 th))
(*.f64 (sin.f64 th) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(approx (sin ky) ky)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky)))
(*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(approx (sin ky) ky))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(approx (sin ky) ky)))
(pow.f64 (/.f64 (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky)) #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky)))
(*.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) (/.f64 #s(literal 1 binary64) #s(approx (sin ky) ky)))
(pow.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(literal -1 binary64))
(/.f64 (neg.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (neg.f64 #s(approx (sin ky) ky)))
(/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky))
(/.f64 #s(literal 1 binary64) (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(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))
#s(approx (sin ky) ky)
(*.f64 (*.f64 (sin.f64 th) (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 (sin.f64 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)))))))
(pow.f64 (/.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 th) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (neg.f64 (*.f64 (sin.f64 th) (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 (*.f64 (sin.f64 th) (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 #s(literal 1 binary64) (/.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 th) (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 #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))))
(/.f64 (-.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) #s(literal 4 binary64))) (-.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))
(/.f64 (-.f64 (*.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (fma.f64 kx kx #s(literal 1/2 binary64))) (pow.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (+.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
(/.f64 (fma.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx) (pow.f64 (sin.f64 ky) #s(literal 6 binary64))) (fma.f64 (*.f64 kx kx) (*.f64 kx kx) (-.f64 (pow.f64 (sin.f64 ky) #s(literal 4 binary64)) (*.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) #s(literal 3 binary64)) (*.f64 (pow.f64 (cos.f64 (+.f64 ky ky)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 (fma.f64 kx kx #s(literal 1/2 binary64)) (fma.f64 kx kx #s(literal 1/2 binary64)) (+.f64 (pow.f64 (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.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 (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)) (*.f64 (neg.f64 (cos.f64 (+.f64 ky ky))) #s(literal 1/2 binary64)))
(+.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 #s(literal 1/2 binary64) (-.f64 (*.f64 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 kx kx))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx))) (-.f64 #s(literal 1/2 binary64) (*.f64 kx kx)))
(/.f64 (-.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) #s(literal 1/4 binary64)) (-.f64 (*.f64 kx kx) #s(literal 1/2 binary64)))
(/.f64 (+.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx))) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 #s(literal 1/2 binary64) (*.f64 kx kx)))))
(/.f64 (fma.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx) #s(literal 1/8 binary64)) (fma.f64 (*.f64 kx kx) (*.f64 kx kx) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 kx kx) #s(literal 1/2 binary64)))))
(fma.f64 (fabs.f64 kx) (fabs.f64 kx) #s(literal 1/2 binary64))
(fma.f64 (neg.f64 kx) (neg.f64 kx) #s(literal 1/2 binary64))
(fma.f64 kx kx #s(literal 1/2 binary64))
(-.f64 (*.f64 kx kx) #s(literal -1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (neg.f64 (*.f64 kx kx)))
(+.f64 (*.f64 kx kx) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 kx kx))
#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))
(/.f64 (-.f64 (*.f64 ky ky) (*.f64 ky ky)) (-.f64 ky ky))
(/.f64 (fma.f64 (*.f64 ky ky) ky (*.f64 (*.f64 ky ky) ky)) (fma.f64 ky ky (-.f64 (*.f64 ky ky) (*.f64 ky ky))))
(neg.f64 (*.f64 #s(literal -2 binary64) ky))
(-.f64 ky (neg.f64 ky))
(+.f64 ky ky)
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #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 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky))))
(pow.f64 (/.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky)) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky))))
(/.f64 (sin.f64 ky) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky)) (sin.f64 ky)))
(pow.f64 (+.f64 (pow.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) #s(literal 2 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 (pow.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) #s(literal 2 binary64)) (-.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 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky)))
(hypot.f64 (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))) (sin.f64 ky))
(hypot.f64 (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))) (fabs.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))) (neg.f64 (sin.f64 ky)))
(hypot.f64 (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #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 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))))
(hypot.f64 (fabs.f64 (sin.f64 ky)) (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))))
(hypot.f64 (fabs.f64 (sin.f64 ky)) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)))
(hypot.f64 (neg.f64 (sin.f64 ky)) (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))))
(hypot.f64 (neg.f64 (sin.f64 ky)) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)))
(hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (fabs.f64 (sin.f64 ky)))
(hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (neg.f64 (sin.f64 ky)))
(hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky))
(hypot.f64 (sin.f64 ky) (fabs.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))))
(hypot.f64 (sin.f64 ky) (neg.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))))
(hypot.f64 (sin.f64 ky) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)))
#s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))
(*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)
(*.f64 kx (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)))
(fma.f64 kx #s(literal 1 binary64) (*.f64 kx (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx)))
(fma.f64 #s(literal 1 binary64) kx (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) kx))
(+.f64 (*.f64 kx #s(literal 1 binary64)) (*.f64 kx (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx)))
(+.f64 (*.f64 #s(literal 1 binary64) kx) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) kx))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 2 binary64)) (*.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx)))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64))
(fma.f64 (*.f64 kx kx) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 kx kx)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64))))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx)))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal -1/6 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal 1/6 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal 3 binary64)) #s(literal -1/216 binary64)) (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal 2 binary64)) (-.f64 #s(literal 1/36 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal -1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal 3 binary64)) #s(literal 1/216 binary64)) (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal 2 binary64)) (+.f64 #s(literal 1/36 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal 1/6 binary64)))))
(neg.f64 (-.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx)))
(fma.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx #s(literal -1/6 binary64))
(fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64))
(fma.f64 (*.f64 kx kx) (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) #s(literal -1/6 binary64))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal 1/6 binary64))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) kx) kx))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64))) #s(literal 1/14400 binary64)) (-.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)))
(/.f64 (-.f64 #s(literal 1/14400 binary64) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)))) (-.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64))))
(/.f64 (fma.f64 #s(literal -1/128024064000 binary64) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx)) #s(literal 1/1728000 binary64)) (fma.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) (-.f64 #s(literal 1/14400 binary64) (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64)))))
(/.f64 (+.f64 #s(literal 1/1728000 binary64) (*.f64 #s(literal -1/128024064000 binary64) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx)))) (+.f64 #s(literal 1/14400 binary64) (-.f64 (*.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64))) (*.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64))))))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) kx) kx #s(literal 1/120 binary64))
(fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 kx kx) #s(literal 1/120 binary64))
(-.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) #s(literal -1/120 binary64))
(-.f64 #s(literal 1/120 binary64) (*.f64 #s(literal 1/5040 binary64) (*.f64 kx kx)))
(-.f64 #s(literal 1/120 binary64) (neg.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64))))
(+.f64 (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))
(+.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)))
#s(literal -1/5040 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))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 kx kx)))
(fabs.f64 (*.f64 kx kx))
#s(literal 1/120 binary64)
#s(literal -1/6 binary64)
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (sin.f64 th))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(literal 1 binary64))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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)) (-.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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))) #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)) (-.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) (/.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 (+ (* (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 (*.f64 kx kx) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx))
#s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx))
#s(approx (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 -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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (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)) (-.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) (* (cos (+ ky ky)) 1/2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))
#s(approx (- (+ (* 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 (+ (* kx kx) 1/2) #s(literal 1/2 binary64))
#s(approx (+ (* kx kx) 1/2) (fma.f64 kx kx #s(literal 1/2 binary64)))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(literal -1/6 binary64))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (fma.f64 (*.f64 kx kx) #s(literal 1/120 binary64) #s(literal -1/6 binary64)))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) #s(literal 1/120 binary64))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)))
#s(approx (* kx kx) (*.f64 kx kx))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin 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))))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin 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 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 (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (*.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 (+ (* kx kx) 1/2) (*.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 kx kx)) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (*.f64 (pow.f64 kx #s(literal 7 binary64)) #s(literal -1/5040 binary64)))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (*.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)) #s(literal 1/5040 binary64)) (pow.f64 kx #s(literal 7 binary64))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)) #s(literal 1/5040 binary64)) (/.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx)))) (pow.f64 kx #s(literal 7 binary64))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (*.f64 (-.f64 (-.f64 (+.f64 (pow.f64 kx #s(literal -6 binary64)) (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx))) #s(literal 1/5040 binary64)) (/.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx)))) (pow.f64 kx #s(literal 7 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx)) #s(literal -1/5040 binary64)))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx)) (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)) #s(literal 1/5040 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (*.f64 (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx)) (-.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)) #s(literal 1/5040 binary64)) (/.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx))))))
#s(approx (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) (*.f64 (-.f64 (-.f64 (+.f64 (pow.f64 kx #s(literal -6 binary64)) (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx))) #s(literal 1/5040 binary64)) (/.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx)))) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (*.f64 kx kx))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) #s(literal -1/5040 binary64)))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)) #s(literal 1/5040 binary64))))
#s(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (*.f64 (*.f64 (*.f64 kx kx) (*.f64 kx kx)) (-.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)) #s(literal 1/5040 binary64)) (/.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx))))))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) (*.f64 (*.f64 kx kx) #s(literal -1/5040 binary64)))
#s(approx (+ (* -1/5040 (* kx kx)) 1/120) (*.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)) #s(literal 1/5040 binary64)) (*.f64 kx kx)))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (neg.f64 (*.f64 (-.f64 #s(literal 1/5040 binary64) (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx))) (pow.f64 kx #s(literal 7 binary64)))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (neg.f64 (*.f64 (+.f64 #s(literal 1/5040 binary64) (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx))) (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)))) (pow.f64 kx #s(literal 7 binary64)))))
#s(approx (* (+ (* (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) (* kx kx)) 1) kx) (neg.f64 (*.f64 (-.f64 (+.f64 #s(literal 1/5040 binary64) (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 kx kx) (*.f64 kx kx))) (/.f64 #s(literal 1/120 binary64) (*.f64 kx kx)))) (pow.f64 kx #s(literal -6 binary64))) (pow.f64 kx #s(literal 7 binary64)))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (*.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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (*.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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (*.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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (fma.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 kx kx))))) #s(literal 1/3 binary64)) (sin.f64 kx)) (fma.f64 #s(literal 7/360 binary64) (sin.f64 kx) (/.f64 #s(literal 1/12 binary64) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)))) (*.f64 ky ky) (sin.f64 kx)) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (fma.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 kx kx))))) #s(literal 1/3 binary64)) (sin.f64 kx)) (fma.f64 #s(literal 7/360 binary64) (sin.f64 kx) (fma.f64 (fma.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/12 binary64) (fma.f64 #s(literal 31/15120 binary64) (sin.f64 kx) (fma.f64 (/.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 #s(literal 7/720 binary64) (sin.f64 kx))))) (*.f64 ky ky) (/.f64 #s(literal 1/12 binary64) (sin.f64 kx))))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)))) (*.f64 ky ky) (sin.f64 kx)) ky))
#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 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 ky))) (/.f64 ky (sin.f64 kx)))
#s(approx (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 (/ 1 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 #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 (* (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 (+ (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 (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (fma.f64 ky ky (*.f64 kx kx)))
#s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (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) (* (cos (+ ky ky)) 1/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 kx kx)))
#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 (- (+ (* 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 (* (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 (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (*.f64 (*.f64 (sin.f64 ky) th) (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)))))))))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (*.f64 (fma.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 ky) (*.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (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))))))))) th))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 ky) #s(literal -1/6 binary64)) (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))))))) (*.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal 1/120 binary64)) (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))))))))) (*.f64 th th) (*.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 ky))) th))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 ky) #s(literal 1/120 binary64)) (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))))))) (*.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal -1/5040 binary64)) (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))))))))) (*.f64 th th) (*.f64 (*.f64 (sin.f64 ky) #s(literal -1/6 binary64)) (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))))))))) (*.f64 th th) (*.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 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 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))

eval106.0ms (1.3%)

Memory
-28.2MiB live, 73.1MiB allocated; 27ms collecting garbage
Compiler

Compiled 5 066 to 1 913 computations (62.2% saved)

prune46.0ms (0.6%)

Memory
22.7MiB live, 66.6MiB allocated; 5ms collecting garbage
Pruning

47 alts after pruning (42 fresh and 5 done)

PrunedKeptTotal
New31023333
Fresh141933
Picked235
Done123
Total32747374
Accuracy
100.0%
Counts
374 → 47
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)))
52.2%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky)))
31.0%
(/.f64 (*.f64 (sin.f64 th) (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))))))
29.9%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(approx (+ (* kx kx) 1/2) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
30.7%
(/.f64 (*.f64 (sin.f64 th) (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 kx kx)))))))
75.5%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #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))))))))
25.1%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (fma.f64 ky ky (*.f64 kx kx))))))
55.0%
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (/.f64 (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)) (sin.f64 ky)))
99.4%
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (sin.f64 ky))))
27.8%
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
64.2%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky)))
17.9%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) 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))))))
47.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
99.3%
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))
99.6%
(*.f64 (/.f64 (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(approx (+ (* -1/5040 (* kx kx)) 1/120) #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(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #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))
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))
33.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 ky ky))) #s(literal -1/3 binary64) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #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))
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)) (-.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 (+ (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)))))) (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))
34.5%
(*.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)) #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))
64.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
47.6%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) #s(approx (sin th) th))
64.2%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
44.6%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
44.7%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
45.2%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
42.4%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (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)))))) #s(approx (sin ky) ky))) (sin.f64 th))
64.1%
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) (/.f64 #s(literal 1 binary64) #s(approx (sin ky) ky)))) (sin.f64 th))
99.5%
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)) (sin.f64 th))
64.1%
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(approx (sin ky) 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))
14.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 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)))))) (sin.f64 ky))) (sin.f64 th))
26.1%
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/.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.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))
Compiler

Compiled 1 724 to 1 568 computations (9% saved)

series55.0ms (0.7%)

Memory
-4.1MiB live, 41.1MiB allocated; 4ms collecting garbage
Counts
31 → 98
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sin.f64 th)
th
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx
(sin.f64 ky)
ky
#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)
#s(literal 1 binary64)
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)))
#s(approx (sin ky) ky)
(hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))
(*.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)))))) (sin.f64 th))
(/.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))))))
(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 (+ (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))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))
(cos.f64 (+.f64 kx kx))
(+.f64 kx kx)
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
Outputs
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (sin th)))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ (sin th) (sin ky))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 3))) (/ (sin th) (sin ky)))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (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 (+ (* (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 (+ (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 (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (pow kx 2)))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/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 (* (cos (+ kx kx)) 1/2) #s(hole binary64 1/2))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (+ 1/2 (* -1 (pow kx 2)))))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (+ 1/2 (* (pow kx 2) (- (* 1/3 (pow kx 2)) 1)))))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (+ 1/2 (* (pow kx 2) (- (* (pow kx 2) (+ 1/3 (* -2/45 (pow kx 2)))) 1)))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (+ 1 (* -2 (pow kx 2)))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 2/3 (pow kx 2)) 2)))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/3 (* -4/45 (pow kx 2)))) 2)))))
#s(approx (+ kx kx) #s(hole binary64 (* 2 kx)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (* (sin th) (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 (+ (* (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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 kx))))))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (* 1/2 (cos (* 2 kx)))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (cos (* 2 kx))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (* (/ 1 (sin ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (neg (* -2 kx)))))))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (* 1/2 (cos (neg (* -2 kx))))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (cos (neg (* -2 kx)))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ (sin th) (sin kx))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (* (pow ky 2) (sin th)) (pow (sin kx) 3))) (/ (sin th) (sin kx)))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (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 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 (/ (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 (+ (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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (sin kx) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (* th (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (* (+ (* (* 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
25.0ms
ky
@-inf
((* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th) th (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* th th) -1/6 1 (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin 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)) (- 1/2 (* (cos (+ kx kx)) 1/2)) 1/2 (* (cos (+ kx kx)) 1/2) (cos (+ kx kx)) (+ kx kx) (/ (sin th) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)))
9.0ms
kx
@-inf
((* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th) th (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* th th) -1/6 1 (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin 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)) (- 1/2 (* (cos (+ kx kx)) 1/2)) 1/2 (* (cos (+ kx kx)) 1/2) (cos (+ kx kx)) (+ kx kx) (/ (sin th) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)))
3.0ms
kx
@inf
((* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th) th (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* th th) -1/6 1 (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin 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)) (- 1/2 (* (cos (+ kx kx)) 1/2)) 1/2 (* (cos (+ kx kx)) 1/2) (cos (+ kx kx)) (+ kx kx) (/ (sin th) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)))
3.0ms
th
@-inf
((* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th) th (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* th th) -1/6 1 (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin 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)) (- 1/2 (* (cos (+ kx kx)) 1/2)) 1/2 (* (cos (+ kx kx)) 1/2) (cos (+ kx kx)) (+ kx kx) (/ (sin th) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)))
3.0ms
th
@inf
((* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin th) th (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin kx) kx (sin ky) ky (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (sin th) (* (+ (* (* th th) -1/6) 1) th) (+ (* (* th th) -1/6) 1) (* th th) -1/6 1 (* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx)))) (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin 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)) (- 1/2 (* (cos (+ kx kx)) 1/2)) 1/2 (* (cos (+ kx kx)) 1/2) (cos (+ kx kx)) (+ kx kx) (/ (sin th) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)))

rewrite250.0ms (3.2%)

Memory
-1.4MiB live, 285.8MiB allocated; 45ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06433812
06883470
145743439
081513246
1254793246
Stop Event
iter-limit
node-limit
iter-limit
Counts
129 → 270
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sin.f64 th)
th
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 kx)
kx
(sin.f64 ky)
ky
#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)
#s(literal 1 binary64)
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)))
#s(approx (sin ky) ky)
(hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))
(*.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)))))) (sin.f64 th))
(/.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))))))
(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 (+ (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))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))
#s(literal 1/2 binary64)
(*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))
(cos.f64 (+.f64 kx kx))
(+.f64 kx kx)
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (sin th)))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ (sin th) (sin ky))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 3))) (/ (sin th) (sin ky)))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (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 (+ (* (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 (+ (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 (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (pow kx 2)))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/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 (* (cos (+ kx kx)) 1/2) #s(hole binary64 1/2))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (+ 1/2 (* -1 (pow kx 2)))))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (+ 1/2 (* (pow kx 2) (- (* 1/3 (pow kx 2)) 1)))))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (+ 1/2 (* (pow kx 2) (- (* (pow kx 2) (+ 1/3 (* -2/45 (pow kx 2)))) 1)))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (+ 1 (* -2 (pow kx 2)))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 2/3 (pow kx 2)) 2)))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/3 (* -4/45 (pow kx 2)))) 2)))))
#s(approx (+ kx kx) #s(hole binary64 (* 2 kx)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* 1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (pow (sin ky) 2))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (+ 1 (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (pow (sin ky) 2))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (* (sin th) (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 (+ (* (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 (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (* 2 kx))))))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (* 1/2 (cos (* 2 kx)))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (cos (* 2 kx))))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (* (/ 1 (sin ky)) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) #s(hole binary64 (- 1/2 (* 1/2 (cos (neg (* -2 kx)))))))
#s(approx (* (cos (+ kx kx)) 1/2) #s(hole binary64 (* 1/2 (cos (neg (* -2 kx))))))
#s(approx (cos (+ kx kx)) #s(hole binary64 (cos (neg (* -2 kx)))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (/ (sin th) (sin kx))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (+ (* -1/2 (/ (* (pow ky 2) (sin th)) (pow (sin kx) 3))) (/ (sin th) (sin kx)))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (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 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 (/ (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 (+ (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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (sin kx) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (* 1/2 (/ 1 (sin kx)))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (* 1/12 (/ 1 (sin kx)))))))))) ky)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) #s(hole binary64 (/ (+ (sin kx) (* (pow ky 2) (+ (* 1/6 (sin kx)) (+ (* 1/2 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 7/360 (sin kx)) (+ (* 1/12 (/ 1 (sin kx))) (* (pow ky 2) (+ (* -1/12 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (+ (* 31/15120 (sin kx)) (+ (* 7/720 (/ 1 (sin kx))) (* 1/2 (/ (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2)))) (sin kx))))))))))))))) ky)))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (sin ky)) #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) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #s(hole binary64 (* th (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) #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 (* (+ (* (* 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 (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 (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)))
(*.f64 (sin.f64 th) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)) #s(literal -1 binary64))
(/.f64 (neg.f64 (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(sin.f64 th)
th
(pow.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))
(sqrt.f64 (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(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))
(sin.f64 kx)
kx
(sin.f64 ky)
ky
#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)
(*.f64 th (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) th (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) th))
(fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))
(+.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))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 (*.f64 th 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 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))
(/.f64 (fma.f64 (pow.f64 (*.f64 th th) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal 1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) (*.f64 #s(literal 1 binary64) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))))
(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))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 th th)))
(fabs.f64 (*.f64 th th))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(/.f64 (*.f64 #s(approx (sin ky) ky) (sin.f64 th)) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)))
(*.f64 #s(approx (sin ky) ky) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(pow.f64 (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky)) #s(literal -1 binary64))
(/.f64 (neg.f64 #s(approx (sin ky) ky)) (neg.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))))
(/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #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 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))) #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 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
(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 (/.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)))))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.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)))))))
(/.f64 (*.f64 (sin.f64 th) (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))))))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (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)))))))
(pow.f64 (/.f64 (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))))) (sin.f64 ky)) #s(literal -1 binary64))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (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)))))))
(/.f64 #s(literal 1 binary64) (/.f64 (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))))) (sin.f64 ky)))
(/.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))))))
(pow.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(literal 1/2 binary64))
(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)))))
(fabs.f64 (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 (+ (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))))
(*.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 (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 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
(/.f64 (-.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (+.f64 #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))
(/.f64 (-.f64 (cos.f64 (-.f64 kx kx)) (cos.f64 (+.f64 kx kx))) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (-.f64 #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)) #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 (neg.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))))
#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))))
(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)))))
(fma.f64 (cos.f64 kx) (cos.f64 kx) (*.f64 (sin.f64 kx) (neg.f64 (sin.f64 kx))))
(-.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 (fabs.f64 (*.f64 #s(literal -2 binary64) kx)))
(cos.f64 (neg.f64 (+.f64 kx kx)))
(cos.f64 (fabs.f64 (+.f64 kx kx)))
(cos.f64 (*.f64 #s(literal -2 binary64) 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 (+.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))) (*.f64 (sin.f64 kx) (neg.f64 (sin.f64 kx))))
(*.f64 #s(literal -2 binary64) (neg.f64 kx))
(*.f64 #s(literal 2 binary64) kx)
(*.f64 kx #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 kx kx) (*.f64 kx kx)) (-.f64 kx kx))
(/.f64 (fma.f64 (*.f64 kx kx) kx (*.f64 (*.f64 kx kx) kx)) (fma.f64 kx kx (-.f64 (*.f64 kx kx) (*.f64 kx kx))))
(neg.f64 (*.f64 #s(literal -2 binary64) kx))
(-.f64 kx (neg.f64 kx))
(+.f64 kx kx)
(*.f64 (/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(*.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) #s(literal -1 binary64))
(/.f64 (neg.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))) (neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))))
(*.f64 (/.f64 #s(literal 1 binary64) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 #s(literal 1 binary64) (sin.f64 ky)))
(pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (neg.f64 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
(/.f64 #s(literal 1 binary64) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
#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 ky 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 ky 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 ky 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 ky 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 ky 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 ky ky))))) (*.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky 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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 (sin.f64 th) (sin.f64 ky)))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (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 (/ (sin th) (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 (*.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 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky 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)))))) (*.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 (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 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #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 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #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 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) #s(literal 1 binary64))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (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 ky ky)))))) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky 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 ky 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 ky 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 kx kx)) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (*.f64 kx kx) #s(literal 1 binary64)))
#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 ky 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 ky 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 ky 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 ky ky))))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) (*.f64 kx kx))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/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 (- 1/2 (* (cos (+ kx kx)) 1/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 (* (cos (+ kx kx)) 1/2) #s(literal 1/2 binary64))
#s(approx (* (cos (+ kx kx)) 1/2) (+.f64 (neg.f64 (*.f64 kx kx)) #s(literal 1/2 binary64)))
#s(approx (* (cos (+ kx kx)) 1/2) (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 (* (cos (+ kx kx)) 1/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) #s(literal 1/2 binary64)))
#s(approx (cos (+ kx kx)) (fma.f64 #s(literal -2 binary64) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (cos (+ kx 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 (+ kx 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 (+ kx kx) (+.f64 kx kx))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal 1/2 binary64) #s(literal 1 binary64)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (*.f64 kx kx) #s(literal 1 binary64)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (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 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal -1/2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))) #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 ky ky))))) #s(literal 1/3 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal -1/2 binary64))) (*.f64 kx kx) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))))) (*.f64 kx kx) #s(literal 1 binary64)))
#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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (*.f64 (sin.f64 th) (sin.f64 ky))))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th)))
#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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (* (cos (+ kx kx)) 1/2) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))
#s(approx (cos (+ kx kx)) (cos.f64 (+.f64 kx kx)))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
#s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))
#s(approx (* (cos (+ kx kx)) 1/2) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))
#s(approx (cos (+ kx kx)) (cos.f64 (+.f64 kx 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 (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 th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 (sin.f64 th) (sin.f64 kx)))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (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 (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (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 (/ (sin th) (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 (*.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 (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 (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 (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 (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 (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (/.f64 ky (sin.f64 kx)))
#s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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 (+ (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 (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx))) (*.f64 ky ky) (sin.f64 kx)) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (fma.f64 (fma.f64 #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)) (sin.f64 kx)) (fma.f64 #s(literal 7/360 binary64) (sin.f64 kx) (/.f64 #s(literal 1/12 binary64) (sin.f64 kx)))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)))) (*.f64 ky ky) (sin.f64 kx)) ky))
#s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 kx) (fma.f64 (fma.f64 #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)) (sin.f64 kx)) (fma.f64 #s(literal 7/360 binary64) (sin.f64 kx) (fma.f64 (fma.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/12 binary64) (fma.f64 #s(literal 31/15120 binary64) (sin.f64 kx) (fma.f64 (/.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 #s(literal 7/720 binary64) (sin.f64 kx))))) (*.f64 ky ky) (/.f64 #s(literal 1/12 binary64) (sin.f64 kx))))) (*.f64 ky ky) (/.f64 #s(literal 1/2 binary64) (sin.f64 kx)))) (*.f64 ky ky) (sin.f64 kx)) ky))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (*.f64 (*.f64 (sin.f64 ky) th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))))
#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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))) 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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (*.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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))) (*.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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (*.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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))) (*.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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))) (*.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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 ky))) th))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) th))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (fma.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))) th))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (*.f64 (*.f64 (*.f64 th th) #s(literal 1/120 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))) (*.f64 th th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))) th))
#s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (*.f64 (*.f64 (*.f64 th th) #s(literal -1/5040 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))))) (*.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 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) #s(literal -1/6 binary64))) (*.f64 th th) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64))))))) 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 (* (+ (* (* 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))))

eval44.0ms (0.6%)

Memory
30.3MiB live, 118.3MiB allocated; 17ms collecting garbage
Compiler

Compiled 4 454 to 1 475 computations (66.9% saved)

prune188.0ms (2.4%)

Memory
-3.2MiB live, 181.5MiB allocated; 35ms collecting garbage
Pruning

78 alts after pruning (69 fresh and 9 done)

PrunedKeptTotal
New27143314
Fresh112637
Picked055
Done145
Total28378361
Accuracy
100.0%
Counts
361 → 78
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)))
52.2%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 kx kx) #s(literal -1/6 binary64)) kx) kx #s(literal 1 binary64)) kx)) (sin.f64 ky)))
31.0%
(/.f64 (*.f64 (sin.f64 th) (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))))))
29.9%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(approx (+ (* kx kx) 1/2) #s(literal 1/2 binary64)) (*.f64 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64))))))
30.7%
(/.f64 (*.f64 (sin.f64 th) (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))))))
75.5%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #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))))))))
25.1%
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (fma.f64 ky ky (*.f64 kx kx))))))
61.2%
(/.f64 (*.f64 #s(approx (sin ky) ky) (sin.f64 th)) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)))
27.8%
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
64.2%
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) #s(approx (sin ky) ky)))
17.9%
(/.f64 #s(approx (* (sin th) (sin ky)) (*.f64 (sin.f64 ky) 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))))))
47.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
25.7%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 (sin.f64 kx) #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 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky))))
27.2%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (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 ky)))
27.2%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.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)) (sin.f64 ky)))
27.4%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) (/.f64 (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky)) (sin.f64 ky)))
13.9%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
15.9%
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
99.3%
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))
47.1%
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th))))
99.6%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
50.7%
(*.f64 (/.f64 (sin.f64 th) (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)))) #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)))
53.1%
(*.f64 (/.f64 (sin.f64 th) (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)))) #s(approx (sin ky) (*.f64 (fma.f64 (*.f64 ky ky) #s(literal -1/6 binary64) #s(literal 1 binary64)) ky)))
55.0%
(*.f64 (/.f64 (sin.f64 th) (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 ky))
54.8%
(*.f64 (/.f64 (sin.f64 th) (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))) (sin.f64 ky))
55.0%
(*.f64 (/.f64 (sin.f64 th) (hypot.f64 #s(approx (sin kx) kx) (sin.f64 ky))) (sin.f64 ky))
31.5%
(*.f64 (/.f64 (sin.f64 th) #s(approx (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (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(approx (+ (* -1/5040 (* kx kx)) 1/120) #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(approx (+ (* (+ (* -1/5040 (* kx kx)) 1/120) (* kx kx)) -1/6) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)))) (sin.f64 th))
33.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (fma.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 ky ky))) #s(literal -1/3 binary64) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #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))
39.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow.f64 (sin.f64 kx) #s(literal 2 binary64))))) (sin.f64 th))
30.8%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (/.f64 #s(literal 1 binary64) (/.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))
15.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 (sin.f64 (fma.f64 #s(literal 2 binary64) kx (/.f64 (PI.f64) #s(literal 2 binary64)))) #s(literal 1/2 binary64)))))) (sin.f64 th))
15.4%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 (fma.f64 #s(literal -2 binary64) kx (/.f64 (PI.f64) #s(literal 2 binary64)))) #s(literal 1/2 binary64)))))) (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 (cos.f64 (+.f64 ky ky)) #s(literal 1/2 binary64)))))) (sin.f64 th))
30.8%
(*.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)))))) (sin.f64 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))
8.6%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) (-.f64 #s(literal 1/2 binary64) #s(approx (* (cos (+ kx kx)) 1/2) (+.f64 (neg.f64 (*.f64 kx kx)) #s(literal 1/2 binary64))))))) (sin.f64 th))
17.1%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (- 1/2 (* (cos (+ kx kx)) 1/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)))))) (sin.f64 th))
10.5%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 kx kx) #s(literal 1 binary64)) (*.f64 kx kx)))))) (sin.f64 th))
17.3%
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) (*.f64 kx kx))))) (sin.f64 th))
47.6%
(*.f64 (/.f64 #s(approx (sin th) th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
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))
34.5%
(*.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)) #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))
64.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) (sin.f64 th))
31.1%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(approx (sin th) th))
44.6%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) 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))
44.6%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) 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))
44.7%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)))) (sin.f64 th))
45.2%
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) #s(approx (sin kx) kx))) (sin.f64 th))
42.5%
(*.f64 (/.f64 #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 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) (sin.f64 th))
99.4%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th))) (sin.f64 ky))
47.6%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) #s(approx (sin th) th))
45.2%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
30.8%
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (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))))) (sin.f64 ky))) (sin.f64 th))
64.1%
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx)) (/.f64 #s(literal 1 binary64) #s(approx (sin ky) ky)))) (sin.f64 th))
99.5%
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)) (sin.f64 th))
64.1%
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(approx (sin ky) ky)) (sin.f64 th))
30.8%
(*.f64 (*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (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))))))) (sin.f64 th))
31.0%
(*.f64 #s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (/.f64 (sin.f64 th) (sin.f64 kx))) (sin.f64 ky))
37.7%
(*.f64 #s(approx (/ (sin th) (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky)))) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 (+.f64 kx kx)) #s(literal 1/2 binary64)))))) th)) (sin.f64 ky))
27.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
14.8%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin 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.5%
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 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)))))) (sin.f64 ky))) (sin.f64 th))
26.1%
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/.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)))
13.5%
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 th 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))
Compiler

Compiled 3 065 to 2 052 computations (33.1% saved)

regimes323.0ms (4.1%)

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

9 calls:

47.0ms
th
36.0ms
(sin.f64 ky)
34.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))
34.0ms
ky
34.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
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)

regimes378.0ms (4.8%)

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

9 calls:

78.0ms
ky
62.0ms
(sin.f64 kx)
53.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
32.0ms
kx
31.0ms
(sin.f64 ky)
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)

regimes283.0ms (3.6%)

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

9 calls:

62.0ms
(sin.f64 kx)
32.0ms
kx
31.0ms
(sin.f64 th)
26.0ms
(sin.f64 ky)
26.0ms
th
Results
AccuracySegmentsBranch
81.0%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.4%3kx
76.9%2ky
81.0%2th
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes30.0ms (0.4%)

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

1 calls:

27.0ms
th
Results
AccuracySegmentsBranch
80.9%2th
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes130.0ms (1.7%)

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

7 calls:

30.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
20.0ms
(sin.f64 th)
16.0ms
kx
16.0ms
(sin.f64 ky)
16.0ms
ky
Results
AccuracySegmentsBranch
76.8%2ky
67.0%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
76.8%2(sin.f64 ky)
67.0%2kx
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)))))
64.2%1th
Compiler

Compiled 23 to 34 computations (-47.8% saved)

regimes105.0ms (1.3%)

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

5 calls:

30.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))
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)))))
14.0ms
(sin.f64 ky)
14.0ms
ky
14.0ms
(sin.f64 kx)
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)
69.6%2(sin.f64 ky)
71.8%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)))))
66.0%2ky
Compiler

Compiled 32 to 35 computations (-9.4% saved)

regimes16.0ms (0.2%)

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

1 calls:

13.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
Results
AccuracySegmentsBranch
69.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 12 to 11 computations (8.3% saved)

regimes40.0ms (0.5%)

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

2 calls:

25.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
12.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
69.6%2(sin.f64 ky)
69.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)

regimes43.0ms (0.5%)

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

2 calls:

30.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
10.0ms
(sin.f64 ky)
Results
AccuracySegmentsBranch
69.6%2(sin.f64 ky)
69.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)

regimes64.0ms (0.8%)

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

4 calls:

28.0ms
kx
15.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
10.0ms
(sin.f64 ky)
9.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
Results
AccuracySegmentsBranch
64.2%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
64.2%1kx
66.4%2(sin.f64 ky)
66.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 19 to 24 computations (-26.3% saved)

regimes49.0ms (0.6%)

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

3 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)))))
9.0ms
(sin.f64 ky)
9.0ms
ky
Results
AccuracySegmentsBranch
64.2%1ky
64.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)))))
64.2%1(sin.f64 ky)
Compiler

Compiled 15 to 18 computations (-20% saved)

regimes115.0ms (1.5%)

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

9 calls:

32.0ms
ky
14.0ms
kx
13.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
9.0ms
(sin.f64 ky)
9.0ms
th
Results
AccuracySegmentsBranch
64.2%1(sin.f64 th)
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%1kx
64.2%1th
64.2%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
64.2%1(sin.f64 kx)
64.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)))))
64.2%1ky
64.2%1(sin.f64 ky)
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes93.0ms (1.2%)

Memory
-30.6MiB live, 167.7MiB allocated; 26ms collecting garbage
Counts
31 → 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal 1 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) #s(approx (sin kx) kx))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) (sin.f64 kx))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) kx) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)))) (sin.f64 th))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (*.f64 kx kx) #s(literal -1/6 binary64) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (fma.f64 (/.f64 (*.f64 kx kx) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (+.f64 ky ky))))) #s(literal 1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
#s(approx (/ (* 1 (sin th)) (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky))) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)))
(*.f64 #s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/.f64 ky (sin.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) 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 #s(literal 1 binary64) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky))) (sin.f64 th))
(/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 #s(approx (sin kx) (*.f64 (fma.f64 (fma.f64 (*.f64 kx kx) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 kx kx) #s(literal 1 binary64)) kx)) #s(approx (sin ky) ky)) #s(approx (sin ky) ky))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (- 1/2 (* (cos (+ kx kx)) 1/2)) (*.f64 kx kx))))) (sin.f64 th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) 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 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 th) (sin.f64 ky)) (sqrt.f64 #s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(approx (- (+ (* kx kx) 1/2) (* (cos (+ ky ky)) 1/2)) (fma.f64 ky ky (*.f64 kx kx))))))
(*.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) #s(approx (* (cos (+ kx kx)) 1/2) (+.f64 (neg.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 kx kx)) #s(literal 1/2 binary64)))))) #s(approx (sin th) th))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) 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))
#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

9 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)))))
13.0ms
(sin.f64 ky)
11.0ms
th
10.0ms
(sin.f64 th)
8.0ms
kx
Results
AccuracySegmentsBranch
53.4%3(sin.f64 th)
52.9%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))
54.1%2kx
53.4%2th
54.1%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
58.1%3(sin.f64 kx)
55.8%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)))))
51.0%4ky
51.0%4(sin.f64 ky)
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes10.0ms (0.1%)

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

8.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
57.3%3(sin.f64 kx)
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes9.0ms (0.1%)

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

1 calls:

8.0ms
(sin.f64 kx)
Results
AccuracySegmentsBranch
57.3%3(sin.f64 kx)
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes30.0ms (0.4%)

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

5 calls:

8.0ms
kx
5.0ms
(sin.f64 kx)
5.0ms
th
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)))))
5.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
Results
AccuracySegmentsBranch
53.4%2th
52.8%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
52.8%2kx
48.5%2(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
52.8%3(sin.f64 kx)
Compiler

Compiled 20 to 27 computations (-35% saved)

regimes32.0ms (0.4%)

Memory
21.4MiB live, 67.6MiB 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #s(literal 1 binary64))) th)))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) #s(approx (sin kx) kx))) (sin.f64 th))
Outputs
(*.f64 (/.f64 #s(approx (sin ky) ky) (hypot.f64 #s(approx (sin ky) ky) #s(approx (sin kx) kx))) (sin.f64 th))
(/.f64 #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)) #s(approx (/ (sqrt (+ (* (sin kx) (sin kx)) (* (sin ky) (sin ky)))) (sin ky)) (/.f64 (sin.f64 kx) ky)))
Calls

7 calls:

7.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
4.0ms
kx
4.0ms
(sin.f64 th)
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
th
Results
AccuracySegmentsBranch
45.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)))))
45.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))
48.1%2(sin.f64 kx)
45.2%1(sin.f64 th)
47.4%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
47.8%2kx
45.2%1th
Compiler

Compiled 37 to 44 computations (-18.9% saved)

regimes40.0ms (0.5%)

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

9 calls:

6.0ms
(sin.f64 kx)
6.0ms
(sin.f64 th)
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 ky)
Results
AccuracySegmentsBranch
35.8%2th
41.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)))))
37.6%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.4%2(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
36.6%2kx
36.7%2ky
36.7%2(sin.f64 ky)
35.9%2(sin.f64 kx)
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes22.0ms (0.3%)

Memory
-1.8MiB live, 49.1MiB allocated; 5ms collecting garbage
Counts
11 → 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))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 th th) #s(literal -1/6 binary64)) #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) #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:

7.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
4.0ms
ky
3.0ms
kx
3.0ms
(sin.f64 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))
31.5%1kx
34.4%2(sin.f64 ky)
34.1%2ky
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)

regimes32.0ms (0.4%)

Memory
-32.9MiB live, 106.7MiB allocated; 6ms 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:

6.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
4.0ms
(sin.f64 ky)
3.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
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
kx
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
8.0MiB live, 8.0MiB 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)

regimes11.0ms (0.1%)

Memory
-9.0MiB live, 41.3MiB 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:

3.0ms
(sin.f64 th)
1.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
1.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
1.0ms
ky
1.0ms
kx
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)

bsearch20.0ms (0.3%)

Memory
21.6MiB live, 68.4MiB allocated; 1ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
19.0ms
1.0848978288794003e-13
5.5027213835557256e-12
Samples
14.0ms112×0valid
Compiler

Compiled 180 to 172 computations (4.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-sin: 7.0ms (66.5% of total)
ival-pow2: 2.0ms (19% of total)
ival-sqrt: 1.0ms (9.5% of total)
ival-mult!: 1.0ms (9.5% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)
ival-div!: 0.0ms (0% of total)

bsearch25.0ms (0.3%)

Memory
15.5MiB live, 62.5MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
6.900444604052358e-19
1.0848978288794003e-13
Samples
18.0ms144×0valid
Compiler

Compiled 226 to 216 computations (4.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-sin: 9.0ms (64.3% of total)
ival-pow2: 2.0ms (14.3% of total)
ival-sqrt: 1.0ms (7.1% of total)
ival-div!: 1.0ms (7.1% of total)
ival-mult!: 1.0ms (7.1% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch40.0ms (0.5%)

Memory
-19.7MiB live, 74.7MiB allocated; 22ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
38.0ms
0.00072353508827945
370.87398107203154
Samples
29.0ms144×0valid
Compiler

Compiled 379 to 351 computations (7.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-sin: 20.0ms (80% of total)
ival-pow2: 2.0ms (8% of total)
ival-sqrt: 1.0ms (4% of total)
ival-div!: 1.0ms (4% of total)
ival-mult!: 1.0ms (4% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.5166310506645785e-264
1.5210554150078318e-254
0.0ms
-0.9938446992938692
-0.9772383216246221
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB 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.8MiB live, 1.8MiB 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.1MiB live, 1.1MiB 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.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.3208925201151206
-0.20313578872136331
Compiler

Compiled 18 to 18 computations (0% saved)

bsearch0.0ms (0%)

Memory
1.9MiB live, 1.9MiB 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
1.6MiB live, 1.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.16769117862448432
0.17088233527028932
0.0ms
5.732269020268155e-307
2.5611529554893046e-297
Compiler

Compiled 19 to 18 computations (5.3% saved)

bsearch0.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.008604631598603437
0.024024265128302285
0.0ms
5.732269020268155e-307
2.5611529554893046e-297
Compiler

Compiled 19 to 18 computations (5.3% saved)

bsearch25.0ms (0.3%)

Memory
12.9MiB live, 58.1MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
5.5027213835557256e-12
1.7209875230432066e-9
Samples
15.0ms128×0valid
Compiler

Compiled 227 to 210 computations (7.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-sin: 7.0ms (61.9% of total)
ival-pow2: 2.0ms (17.7% of total)
ival-sqrt: 1.0ms (8.8% of total)
ival-div!: 1.0ms (8.8% of total)
ival-mult!: 1.0ms (8.8% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch0.0ms (0%)

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

Compiled 19 to 18 computations (5.3% saved)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB 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)

bsearch15.0ms (0.2%)

Memory
-13.4MiB live, 32.5MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
9.429641831315936e-24
2.858309821128767e-20
Samples
10.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 (84.1% of total)
ival-mult!: 1.0ms (28% of total)
adjust: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB 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
1.0MiB live, 1.0MiB 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)

derivations1.1s (13.8%)

Memory
39.1MiB live, 1 037.8MiB allocated; 281ms collecting garbage
Stop Event
fuel
Compiler

Compiled 321 to 196 computations (38.9% saved)

preprocess701.0ms (8.9%)

Memory
-8.3MiB live, 1 297.7MiB allocated; 194ms collecting garbage
Remove

(negabs th)

(abs kx)

Compiler

Compiled 6 730 to 5 535 computations (17.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...