Toniolo and Linder, Equation (3b), real

Time bar (total: 8.1s)

start0.0ms (0%)

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

analyze189.0ms (2.3%)

Memory
-13.6MiB live, 273.5MiB allocated; 29ms 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.9s (22.8%)

Memory
21.8MiB live, 2 398.6MiB allocated; 427ms collecting garbage
Samples
1.5s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.1s
ival-sin: 675.0ms (59.9% of total)
ival-pow2: 214.0ms (19% of total)
ival-mult!: 124.0ms (11% of total)
ival-sqrt: 55.0ms (4.9% of total)
ival-div!: 40.0ms (3.5% of total)
ival-add!: 19.0ms (1.7% of total)
adjust: 2.0ms (0.2% of total)
Bogosity

preprocess55.0ms (0.7%)

Memory
4.5MiB live, 54.2MiB allocated; 7ms 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
37.6MiB live, 82.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
6.0ms
ky
@0
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)
5.0ms
th
@inf
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)
4.0ms
kx
@-inf
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)
4.0ms
kx
@inf
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)
4.0ms
kx
@0
((* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin ky) ky (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (+ (pow (sin kx) 2) (pow (sin ky) 2)) (pow (sin kx) 2) (sin kx) kx 2 (pow (sin ky) 2) (sin th) th)

rewrite323.0ms (4%)

Memory
-15.4MiB live, 303.2MiB allocated; 109ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04242381
04402250
131912230
087491918
1240641918
Stop Event
iter-limit
node-limit
iter-limit
Counts
73 → 140
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
(sin.f64 ky)
ky
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))
(+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
(sin.f64 kx)
kx
#s(literal 2 binary64)
(pow.f64 (sin.f64 ky) #s(literal 2 binary64))
(sin.f64 th)
th
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (sin th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (sin th) (* -1/2 (/ (* (pow kx 2) (sin th)) (pow (sin ky) 2))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (+ (sin th) (* (pow kx 2) (+ (* -1/2 (/ (sin th) (pow (sin ky) 2))) (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (pow (sin ky) 2) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))) (pow (sin ky) 2))) (+ (* 2/45 (/ 1 (pow (sin ky) 4))) (+ (* 2/3 (/ 1 (pow (sin ky) 6))) (/ 1 (pow (sin ky) 8))))))))) (* 1/2 (* (pow (sin ky) 2) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 1))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (+ 1 (* -1/2 (/ (pow kx 2) (pow (sin ky) 2))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* 1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ (* -1/2 (* (pow kx 2) (* (pow (sin ky) 2) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))) (pow (sin ky) 2))) (+ (* 2/45 (/ 1 (pow (sin ky) 4))) (+ (* 2/3 (/ 1 (pow (sin ky) 6))) (/ 1 (pow (sin ky) 8)))))))) (* 1/2 (* (pow (sin ky) 2) (+ (* 1/3 (/ 1 (pow (sin ky) 4))) (* 3/4 (/ 1 (pow (sin ky) 6)))))))) (* 1/2 (/ 1 (pow (sin ky) 2))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (sin ky)))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin ky) (* 1/2 (/ (pow kx 2) (sin ky))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin ky) (* (pow kx 2) (+ (* -1/2 (/ (* (pow kx 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2))))) (sin ky))) (* 1/2 (/ 1 (sin ky))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin ky) (* (pow kx 2) (+ (* (pow kx 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (sin ky))) (* 1/2 (/ (* (pow kx 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin ky) 2)))) (pow (sin ky) 2))))) (sin ky))))) (* 1/2 (/ 1 (sin ky))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (pow (sin ky) 2)))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow kx 2) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2)))) (pow (sin ky) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3)))) (pow (sin ky) 2))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (pow kx 2)))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* -1/3 (pow kx 2))))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* 2/45 (pow kx 2)) 1/3))))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (* (pow kx 2) (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 2/45 (* -1/315 (pow kx 2)))) 1/3))))))
#s(approx (sin kx) #s(hole binary64 kx))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* -1/6 (pow kx 2))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* 1/120 (pow kx 2)) 1/6))))))
#s(approx (sin kx) #s(hole binary64 (* kx (+ 1 (* (pow kx 2) (- (* (pow kx 2) (+ 1/120 (* -1/5040 (pow kx 2)))) 1/6))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* (* (sin ky) (sin th)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow (sin kx) 2) (pow (sin ky) 2))))
#s(approx (pow (sin kx) 2) #s(hole binary64 (pow (sin kx) 2)))
#s(approx (sin kx) #s(hole binary64 (sin kx)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (/ (* ky (sin th)) (sin kx))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (* -1/6 (/ (sin th) (sin kx))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* ky (+ (* (pow ky 2) (+ (* -1/2 (/ (sin th) (pow (sin kx) 3))) (+ (* -1/6 (/ (sin th) (sin kx))) (* (pow ky 2) (+ (* 1/120 (/ (sin th) (sin kx))) (+ (* 1/12 (/ (sin th) (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (* (pow ky 2) (+ (* -1/2 (* (sin kx) (* (sin th) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8)))))))) (+ (* -1/12 (* (sin kx) (* (sin th) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* -1/240 (/ (sin th) (pow (sin kx) 3))) (* -1/5040 (/ (sin th) (sin kx)))))))))))))) (/ (sin th) (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (/ ky (sin kx))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* ky (+ (* -1 (* (pow ky 2) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* 1/12 (/ 1 (pow (sin kx) 3)))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) #s(hole binary64 (* ky (+ (* (pow ky 2) (- (* (pow ky 2) (+ (* 1/120 (/ 1 (sin kx))) (+ (* 1/12 (/ 1 (pow (sin kx) 3))) (+ (* 1/2 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))))) (* (pow ky 2) (- (+ (* -1/2 (* (sin kx) (+ (* -1/2 (/ (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6)))) (pow (sin kx) 2))) (+ (* 2/45 (/ 1 (pow (sin kx) 4))) (+ (* 2/3 (/ 1 (pow (sin kx) 6))) (/ 1 (pow (sin kx) 8))))))) (* -1/12 (* (sin kx) (+ (* 1/3 (/ 1 (pow (sin kx) 4))) (* 3/4 (/ 1 (pow (sin kx) 6))))))) (+ (* 1/5040 (/ 1 (sin kx))) (* 1/240 (/ 1 (pow (sin kx) 3)))))))))) (+ (* 1/6 (/ 1 (sin kx))) (* 1/2 (/ 1 (pow (sin kx) 3)))))) (/ 1 (sin kx))))))
#s(approx (sin ky) #s(hole binary64 ky))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* -1/6 (pow ky 2))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* 1/120 (pow ky 2)) 1/6))))))
#s(approx (sin ky) #s(hole binary64 (* ky (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 1/120 (* -1/5040 (pow ky 2)))) 1/6))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin kx) (* 1/2 (/ (pow ky 2) (sin kx))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin kx) (* (pow ky 2) (+ (* -1/2 (/ (* (pow ky 2) (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2))))) (sin kx))) (* 1/2 (/ 1 (sin kx))))))))
#s(approx (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) #s(hole binary64 (+ (sin kx) (* (pow ky 2) (+ (* (pow ky 2) (+ (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (sin kx))) (* 1/2 (/ (* (pow ky 2) (- 2/45 (* -1/2 (/ (+ 1/3 (* 1/4 (/ 1 (pow (sin kx) 2)))) (pow (sin kx) 2))))) (sin kx))))) (* 1/2 (/ 1 (sin kx))))))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (pow ky 2) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2)))) (pow (sin kx) 2))))
#s(approx (+ (pow (sin kx) 2) (pow (sin ky) 2)) #s(hole binary64 (+ (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3)))) (pow (sin kx) 2))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (pow ky 2)))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* -1/3 (pow ky 2))))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* 2/45 (pow ky 2)) 1/3))))))
#s(approx (pow (sin ky) 2) #s(hole binary64 (* (pow ky 2) (+ 1 (* (pow ky 2) (- (* (pow ky 2) (+ 2/45 (* -1/315 (pow ky 2)))) 1/3))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* (* th (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* th (+ (* -1/6 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(hole binary64 (* th (+ (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (pow th 2) (+ (* -1/6 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* (pow th 2) (+ (* -1/5040 (* (* (pow th 2) (sin ky)) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2)))))) (* 1/120 (* (sin ky) (sqrt (/ 1 (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))))))
#s(approx (sin th) #s(hole binary64 th))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* -1/6 (pow th 2))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* 1/120 (pow th 2)) 1/6))))))
#s(approx (sin th) #s(hole binary64 (* th (+ 1 (* (pow th 2) (- (* (pow th 2) (+ 1/120 (* -1/5040 (pow th 2)))) 1/6))))))
Outputs
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))
(/.f64 (neg.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 #s(literal 1 binary64) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 (neg.f64 (neg.f64 (sin.f64 ky))) (neg.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))
(/.f64 (neg.f64 (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))
(/.f64 #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)) (*.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))))))))
(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))

eval21.0ms (0.3%)

Memory
-6.8MiB live, 38.2MiB allocated; 7ms collecting garbage
Compiler

Compiled 2 066 to 781 computations (62.2% saved)

prune19.0ms (0.2%)

Memory
40.5MiB live, 40.5MiB allocated; 0ms collecting garbage
Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New10625131
Fresh000
Picked101
Done000
Total10725132
Accuracy
99.9%
Counts
132 → 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)

series44.0ms (0.5%)

Memory
-28.0MiB live, 72.7MiB 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
10.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)))))
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
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)))))
4.0ms
kx
@-inf
((* (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin th)) (/ (sin ky) (sqrt (+ (* (sin ky) (sin ky)) (* (sin kx) (sin kx))))) (sin ky) 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)))))

rewrite309.0ms (3.8%)

Memory
20.6MiB live, 206.1MiB allocated; 61ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06483773
07083422
148713414
080883207
1220273207
Stop Event
iter-limit
node-limit
iter-limit
Counts
142 → 341
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 (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)))))))
(/.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)))))))
(/.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 (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)))
(/.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))

eval128.0ms (1.6%)

Memory
16.2MiB live, 106.3MiB allocated; 14ms collecting garbage
Compiler

Compiled 4 777 to 1 913 computations (60% saved)

prune40.0ms (0.5%)

Memory
-13.0MiB live, 90.3MiB allocated; 14ms collecting garbage
Pruning

41 alts after pruning (38 fresh and 3 done)

PrunedKeptTotal
New28433317
Fresh15520
Picked235
Done000
Total30141342
Accuracy
100.0%
Counts
342 → 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)

series32.0ms (0.4%)

Memory
-29.6MiB live, 64.1MiB allocated; 4ms 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
6.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
th
@-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)

rewrite272.0ms (3.3%)

Memory
33.8MiB live, 215.3MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06774095
07363781
150203773
082853539
1226803539
Stop Event
iter-limit
node-limit
iter-limit
Counts
155 → 355
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)))
(/.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)))
(/.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 (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)))
(/.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)))))))
(/.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))))
(/.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 kx kx) (*.f64 kx kx)) (*.f64 kx kx)) (-.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))))))
#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 (/.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 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))

eval99.0ms (1.2%)

Memory
23.5MiB live, 68.9MiB allocated; 3ms collecting garbage
Compiler

Compiled 4 999 to 1 902 computations (62% saved)

prune155.0ms (1.9%)

Memory
-32.3MiB live, 61.8MiB allocated; 18ms collecting garbage
Pruning

47 alts after pruning (42 fresh and 5 done)

PrunedKeptTotal
New30423327
Fresh141933
Picked235
Done123
Total32147368
Accuracy
100.0%
Counts
368 → 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)

series37.0ms (0.4%)

Memory
24.9MiB live, 67.7MiB allocated; 6ms 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
8.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)))
6.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)))
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
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)))
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)))

rewrite251.0ms (3.1%)

Memory
-14.8MiB live, 278.4MiB allocated; 56ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06433812
06883470
147983462
080253246
1220443246
Stop Event
iter-limit
node-limit
iter-limit
Counts
129 → 265
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))))
(/.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))))
(/.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)))))))
(/.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))))
(/.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)))
(/.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))))

eval37.0ms (0.5%)

Memory
26.0MiB live, 71.6MiB allocated; 3ms collecting garbage
Compiler

Compiled 4 404 to 1 466 computations (66.7% saved)

prune181.0ms (2.2%)

Memory
-25.6MiB live, 115.8MiB allocated; 16ms collecting garbage
Pruning

78 alts after pruning (69 fresh and 9 done)

PrunedKeptTotal
New26643309
Fresh112637
Picked055
Done145
Total27878356
Accuracy
100.0%
Counts
356 → 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)

regimes356.0ms (4.4%)

Memory
11.6MiB live, 436.0MiB allocated; 68ms 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:

51.0ms
(sin.f64 th)
47.0ms
(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
43.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
42.0ms
(sin.f64 ky)
37.0ms
kx
Results
AccuracySegmentsBranch
99.6%1(sin.f64 th)
99.6%1(sin.f64 kx)
99.6%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
99.6%1(sin.f64 ky)
99.6%1(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
99.6%1(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
99.6%1kx
99.6%1ky
99.6%1th
Compiler

Compiled 40 to 51 computations (-27.5% saved)

regimes447.0ms (5.5%)

Memory
34.4MiB live, 546.4MiB allocated; 90ms 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:

100.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))
92.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)))))
54.0ms
th
40.0ms
(sin.f64 th)
34.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)

regimes377.0ms (4.6%)

Memory
-61.6MiB live, 549.3MiB allocated; 116ms 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:

86.0ms
(sin.f64 ky)
63.0ms
kx
51.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
31.0ms
(*.f64 (/.f64 (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
(sin.f64 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)

regimes22.0ms (0.3%)

Memory
4.1MiB live, 48.4MiB 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:

19.0ms
th
Results
AccuracySegmentsBranch
80.9%2th
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes126.0ms (1.6%)

Memory
13.0MiB live, 295.3MiB allocated; 20ms 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:

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

regimes107.0ms (1.3%)

Memory
41.2MiB live, 214.2MiB allocated; 43ms 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:

28.0ms
(sin.f64 kx)
24.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))
21.0ms
ky
17.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
15.0ms
(sin.f64 ky)
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)

regimes68.0ms (0.8%)

Memory
-20.9MiB live, 36.0MiB allocated; 26ms 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:

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

regimes122.0ms (1.5%)

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

107.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)

regimes25.0ms (0.3%)

Memory
-7.4MiB live, 36.8MiB 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:

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

regimes42.0ms (0.5%)

Memory
33.4MiB live, 77.2MiB allocated; 4ms 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:

12.0ms
(sin.f64 ky)
10.0ms
kx
9.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
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)

regimes41.0ms (0.5%)

Memory
-48.7MiB live, 53.0MiB allocated; 15ms 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:

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

regimes95.0ms (1.2%)

Memory
11.9MiB live, 154.4MiB allocated; 15ms 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:

17.0ms
(sin.f64 th)
12.0ms
th
11.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
ky
9.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
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)

regimes97.0ms (1.2%)

Memory
10.2MiB live, 103.6MiB allocated; 5ms 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:

22.0ms
(sin.f64 kx)
15.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))
8.0ms
(sin.f64 ky)
8.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
15.2MiB live, 15.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)

regimes7.0ms (0.1%)

Memory
12.1MiB live, 12.1MiB allocated; 0ms 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:

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

Compiled 2 to 4 computations (-100% saved)

regimes39.0ms (0.5%)

Memory
-11.0MiB live, 34.7MiB allocated; 3ms 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:

5.0ms
(sin.f64 kx)
5.0ms
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)

regimes68.0ms (0.8%)

Memory
-24.0MiB live, 29.2MiB allocated; 29ms 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:

43.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
(sin.f64 kx)
4.0ms
kx
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)

regimes91.0ms (1.1%)

Memory
-5.9MiB live, 43.6MiB allocated; 4ms 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:

60.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
(*.f64 (/.f64 (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
kx
4.0ms
(sin.f64 ky)
4.0ms
(sin.f64 th)
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)

regimes18.0ms (0.2%)

Memory
30.5MiB live, 30.5MiB allocated; 0ms 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:

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

regimes42.0ms (0.5%)

Memory
5.4MiB live, 50.2MiB allocated; 4ms collecting garbage
Counts
9 → 2
Calls
Call 1
Inputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) th))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (*.f64 (*.f64 th th) th) #s(literal -1/6 binary64)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 th (*.f64 th #s(literal -1/6 binary64)) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (*.f64 th th) #s(literal -1/6 binary64) #s(literal 1 binary64)) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (fma.f64 th #s(literal 1 binary64) (*.f64 th (*.f64 (*.f64 th th) #s(literal -1/6 binary64))))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) #s(approx (* (+ (* (* th th) -1/6) 1) th) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 (*.f64 th th) th)))))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 th th)) #s(literal 1/6 binary64)) (*.f64 th th))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 (fma.f64 (fma.f64 (*.f64 th th) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 th th) #s(literal 1 binary64)) th)))
Outputs
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) (*.f64 #s(approx (+ (* (* th th) -1/6) 1) (*.f64 (*.f64 th th) #s(literal -1/6 binary64))) th)))
#s(approx (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) #s(approx (sin th) th))
Calls

9 calls:

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

regimes29.0ms (0.4%)

Memory
-19.9MiB live, 23.3MiB allocated; 5ms 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:

21.0ms
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
1.0ms
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
1.0ms
(sin.f64 th)
1.0ms
(sin.f64 ky)
1.0ms
ky
Results
AccuracySegmentsBranch
14.3%1th
14.3%1(sin.f64 th)
14.3%1(pow.f64 (sin.f64 kx) #s(literal 2 binary64))
14.3%1kx
14.3%1ky
14.3%1(sin.f64 ky)
14.3%1(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64)))))
14.3%1(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) #s(literal 2 binary64)) (pow.f64 (sin.f64 ky) #s(literal 2 binary64))))) (sin.f64 th))
Compiler

Compiled 38 to 47 computations (-23.7% saved)

bsearch24.0ms (0.3%)

Memory
-19.1MiB live, 32.6MiB allocated; 7ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
22.0ms
1.0848978288794003e-13
5.5027213835557256e-12
Samples
18.0ms112×0valid
Compiler

Compiled 180 to 172 computations (4.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-pow2: 7.0ms (47.6% of total)
ival-sin: 6.0ms (40.8% of total)
ival-sqrt: 1.0ms (6.8% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)
ival-div!: 0.0ms (0% of total)
ival-mult!: 0.0ms (0% of total)

bsearch24.0ms (0.3%)

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

Compiled 226 to 216 computations (4.4% saved)

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

bsearch34.0ms (0.4%)

Memory
-6.2MiB live, 38.3MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
32.0ms
0.00072353508827945
370.87398107203154
Samples
26.0ms144×0valid
Compiler

Compiled 379 to 351 computations (7.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-sin: 10.0ms (65.3% of total)
ival-pow2: 2.0ms (13.1% of total)
ival-sqrt: 1.0ms (6.5% of total)
ival-div!: 1.0ms (6.5% of total)
ival-mult!: 1.0ms (6.5% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch1.0ms (0%)

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

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB 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
0.7MiB live, 0.7MiB 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
0.7MiB live, 0.7MiB 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
0.6MiB live, 0.6MiB 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
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.16769117862448432
0.17088233527028932
0.0ms
-0.11066806888920806
-0.009282520089433394
Compiler

Compiled 19 to 18 computations (5.3% saved)

bsearch0.0ms (0%)

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

bsearch33.0ms (0.4%)

Memory
-10.9MiB live, 34.2MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
31.0ms
5.5027213835557256e-12
1.7209875230432066e-9
Samples
26.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 (62% of total)
ival-pow2: 2.0ms (17.7% of total)
ival-sqrt: 1.0ms (8.9% of total)
ival-div!: 1.0ms (8.9% of total)
ival-mult!: 1.0ms (8.9% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB 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
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2162921273943912e-10
2.2341351699437912e-10
Compiler

Compiled 18 to 19 computations (-5.6% saved)

bsearch12.0ms (0.1%)

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

Compiled 370 to 363 computations (1.9% saved)

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

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)

bsearch0.0ms (0%)

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

derivations912.0ms (11.2%)

Memory
14.4MiB live, 984.7MiB allocated; 172ms collecting garbage
Stop Event
fuel
Compiler

Compiled 321 to 196 computations (38.9% saved)

preprocess765.0ms (9.4%)

Memory
34.3MiB live, 1 749.1MiB allocated; 314ms 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...