Details

Time bar (total: 38.5s)

analyze907.0ms (2.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
25%74.9%0.1%8
54.6%45.2%0.1%9
56.2%43.7%0.1%10
62.4%37.4%0.1%11
65.9%33.9%0.1%12
Compiler

Compiled 20 to 15 computations (25% saved)

sample7.6s (19.7%)

Results
5.7s4754×body1024valid
1.2s1523×body512valid
701.0ms1960×body256valid
42.0ms19×body2048valid

preprocess117.0ms (0.3%)

Algorithm
egg-herbie
Rules
779×associate-/l/_binary64
735×associate-/r/_binary64
593×associate-*r/_binary64
437×associate-*l*_binary64
432×sqr-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027104
15472
211472
322172
464772
5294172
6460372
7552572
8579972
9612272
10655372
11779972
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 kx) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 th) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 th) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 th) 2)))) (sin.f64 ky))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 kx) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (sin.f64 kx) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 th) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 kx))
(*.f64 (sin.f64 kx) (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 th) 2)))))
(*.f64 (sin.f64 kx) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 kx) (hypot.f64 (sin.f64 ky) (sin.f64 th))))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 kx)) (hypot.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 th) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 th) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 th) 2)))))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 th))))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 th)))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 th))))
Compiler

Compiled 22 to 17 computations (22.7% saved)

simplify86.0ms (0.2%)

Algorithm
egg-herbie
Rules
796×sqr-pow_binary64
698×associate-/r*_binary64
383×associate-*l*_binary64
374×cube-prod_binary64
360×fabs-mul_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01426
12618
25118
37918
415918
546018
6171018
7305618
8391618
9416818
10450518
11499718
12567718
13734318
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
Outputs
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))

eval1.0ms (0%)

Compiler

Compiled 30 to 17 computations (43.3% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
3.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
Compiler

Compiled 33 to 23 computations (30.3% saved)

localize15.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
0.1b
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
0.3b
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.3b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
Compiler

Compiled 36 to 9 computations (75% saved)

series32.0ms (0.1%)

Counts
4 → 100
Calls

27 calls:

TimeVariablePointExpression
3.0ms
kx
@0
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
3.0ms
ky
@inf
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
3.0ms
th
@-inf
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
3.0ms
ky
@0
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
2.0ms
th
@inf
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))

rewrite77.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
525×log-prod_binary64
408×exp-prod_binary64
302×pow-prod-down_binary64
277×pow2_binary64
195×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01042
120342
2259742
Stop Event
node limit
Counts
4 → 141
Calls
Call 1
Inputs
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 th)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 1) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 2))) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 th)) (sin.f64 ky)) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 th))) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 th) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) (*.f64 (cbrt.f64 (sin.f64 th)) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2) (cbrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 th)) (*.f64 (sqrt.f64 (sin.f64 th)) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (sqrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) 1) (/.f64 (cbrt.f64 (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 th)) 1) (/.f64 (sqrt.f64 (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) -2) (/.f64 (sin.f64 th) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) (cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 2))) (cbrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 th)) (cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 2))) (/.f64 (sqrt.f64 (sin.f64 th)) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) -1/2) (/.f64 (sin.f64 th) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (cbrt.f64 (sin.f64 th)) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2)) (cbrt.f64 (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (sqrt.f64 (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 th) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 2)) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2)) (cbrt.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) (sqrt.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 th))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 th)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 th))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 th))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 th)) (cbrt.f64 (pow.f64 (sin.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) (cbrt.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 th)) (sqrt.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 th) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 th) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 th)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 th)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sin.f64 th))) 2)) (cbrt.f64 (log.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 th)))) (sqrt.f64 (log.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 th) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sin.f64 th)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 th))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 th)) 1) 1))))))

simplify86.0ms (0.2%)

Algorithm
egg-herbie
Rules
612×times-frac_binary64
536×associate-/l*_binary64
399×associate-/r*_binary64
395×associate-*l/_binary64
365×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02333903
17263742
225793534
Stop Event
node limit
Counts
241 → 213
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) th)
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) th))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 5))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 5))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 3))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 7))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) th))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(/.f64 (sin.f64 th) (sin.f64 kx))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 2)) (pow.f64 (sin.f64 kx) 3))) (/.f64 (sin.f64 th) (sin.f64 kx)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 2)) (pow.f64 (sin.f64 kx) 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 4))) (/.f64 (sin.f64 th) (sin.f64 kx))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 2)) (pow.f64 (sin.f64 kx) 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 5))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 6))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 4))) (/.f64 (sin.f64 th) (sin.f64 kx)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(/.f64 (sin.f64 th) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 3))) (/.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 3))) (+.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 3)))) (pow.f64 kx 4)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 3))) (+.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 5))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 3)))) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 kx 6))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 3)))) (pow.f64 kx 4))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(sin.f64 kx)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (sin.f64 kx))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 6)) (sin.f64 kx))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sin.f64 ky)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
th
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
Outputs
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (neg.f64 (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 3)))
(fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 ky 3) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky))
(fma.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3) (*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (neg.f64 (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (neg.f64 (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (/.f64 (*.f64 (sin.f64 th) 1/120) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 5) (fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 ky 3) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)))
(fma.f64 (+.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120 (*.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (*.f64 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) -1/2)) (pow.f64 ky 5) (fma.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3) (*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (neg.f64 (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (fma.f64 (-.f64 (/.f64 (*.f64 -1/5040 (sin.f64 th)) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (neg.f64 (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 -1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (neg.f64 (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))))))) (pow.f64 ky 7) (*.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (neg.f64 (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 3)))))
(+.f64 (fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) -1/5040) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 (*.f64 (sin.f64 th) 1/120) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 2/45 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (pow.f64 (sin.f64 kx) 3)) (sin.f64 th)) (*.f64 -1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))))) (pow.f64 ky 7) (*.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 ky 3))) (fma.f64 (-.f64 (/.f64 (*.f64 (sin.f64 th) 1/120) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 5) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)))
(+.f64 (fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) -1/5040) (fma.f64 1/2 (/.f64 (+.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120 (*.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (*.f64 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) -1/2)) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (-.f64 2/45 (*.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (*.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2))))))))) (pow.f64 ky 7) (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3))) (fma.f64 (+.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120 (*.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (*.f64 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) -1/2)) (pow.f64 ky 5) (*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky)))
(*.f64 th (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 th (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 th (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (fma.f64 -1/6 (pow.f64 th 3) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky)))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 th (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (fma.f64 -1/6 (pow.f64 th 3) th))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky))))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 th (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(+.f64 (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (fma.f64 -1/6 (pow.f64 th 3) (*.f64 -1/5040 (pow.f64 th 7))))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))) (fma.f64 1/120 (pow.f64 th 5) th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 kx kx))) (sin.f64 th))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 kx 4)) (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 kx kx))) (sin.f64 th)))
(fma.f64 (neg.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 4) (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 kx kx))) (sin.f64 th)))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (sin.f64 th)) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2))) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4))) (pow.f64 kx 4)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 kx 4)) (+.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 kx kx))) (sin.f64 th)) (neg.f64 (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))))) (*.f64 1/4 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 4) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))))))) (pow.f64 kx 6)))))
(-.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 kx kx))) (fma.f64 (neg.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (-.f64 2/45 (/.f64 (+.f64 -1/6 (*.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (pow.f64 (sin.f64 ky) 2)))) (*.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))))))) (pow.f64 kx 6) (sin.f64 th))) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 kx 4)))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (sin.f64 th)) (+.f64 (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2))) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2))) (pow.f64 (sin.f64 ky) 2))))) (*.f64 (/.f64 (*.f64 (sin.f64 th) 1/4) (pow.f64 (sin.f64 ky) 4)) (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))))) (pow.f64 kx 6)) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2))) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4))) (pow.f64 kx 4))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) th)
(*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 th (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) th))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 3)) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(fma.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 -1/6 (pow.f64 th 3))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (fma.f64 -1/6 (pow.f64 th 3) th))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 5))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) th)))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 5)) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 3)) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 5)) (fma.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 -1/6 (pow.f64 th 3)))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 5)) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (fma.f64 -1/6 (pow.f64 th 3) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 5))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 3))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 7))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) th))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 5)) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 3)) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 7)) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 5)) (fma.f64 (*.f64 -1/6 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 th 3) (fma.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 -1/5040 (pow.f64 th 7))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (fma.f64 -1/6 (pow.f64 th 3) (*.f64 -1/5040 (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (fma.f64 1/120 (pow.f64 th 5) th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(/.f64 (sin.f64 th) (sin.f64 kx))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 2)) (pow.f64 (sin.f64 kx) 3))) (/.f64 (sin.f64 th) (sin.f64 kx)))
(fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 ky ky)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (sin.f64 th) (sin.f64 kx)))
(fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 ky ky)) (/.f64 (sin.f64 th) (sin.f64 kx)))
(fma.f64 -1/2 (/.f64 ky (/.f64 (pow.f64 (sin.f64 kx) 3) (*.f64 (sin.f64 th) ky))) (/.f64 (sin.f64 th) (sin.f64 kx)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 2)) (pow.f64 (sin.f64 kx) 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 4))) (/.f64 (sin.f64 th) (sin.f64 kx))))
(fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 ky ky)) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 4)) (/.f64 (sin.f64 th) (sin.f64 kx))))
(fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 ky ky)) (fma.f64 (neg.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5))))) (pow.f64 ky 4) (/.f64 (sin.f64 th) (sin.f64 kx))))
(-.f64 (fma.f64 -1/2 (/.f64 ky (/.f64 (pow.f64 (sin.f64 kx) 3) (*.f64 (sin.f64 th) ky))) (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5)))) (pow.f64 ky 4)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 2)) (pow.f64 (sin.f64 kx) 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 5))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 6))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 4))) (/.f64 (sin.f64 th) (sin.f64 kx)))))
(fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 ky ky)) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1 (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/4 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 5) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th)))))) (pow.f64 ky 6)) (fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 4)) (/.f64 (sin.f64 th) (sin.f64 kx)))))
(fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 ky ky)) (-.f64 (fma.f64 (neg.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5))))) (pow.f64 ky 4) (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5)))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 2/45 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (pow.f64 (sin.f64 kx) 3)) (sin.f64 th)) (*.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 6))))
(-.f64 (-.f64 (fma.f64 -1/2 (/.f64 ky (/.f64 (pow.f64 (sin.f64 kx) 3) (*.f64 (sin.f64 th) ky))) (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5)))) (pow.f64 ky 4))) (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 5)))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (-.f64 2/45 (*.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (*.f64 (/.f64 (*.f64 (sin.f64 th) 1/4) (pow.f64 (sin.f64 kx) 5)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (pow.f64 ky 6)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(/.f64 (sin.f64 th) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 3))) (/.f64 (sin.f64 th) (sin.f64 ky)))
(fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (*.f64 kx kx))) (/.f64 (sin.f64 th) (sin.f64 ky)))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 3)) (sin.f64 th)) (/.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 3))) (+.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 3)))) (pow.f64 kx 4)))))
(+.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (*.f64 kx kx))) (/.f64 (sin.f64 th) (sin.f64 ky))) (neg.f64 (*.f64 (pow.f64 kx 4) (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))))))
(-.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (*.f64 kx kx))) (/.f64 (sin.f64 th) (sin.f64 ky))) (*.f64 (pow.f64 kx 4) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5))))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 3)) (sin.f64 th)) (fma.f64 (+.f64 (/.f64 1/4 (/.f64 (pow.f64 (sin.f64 ky) 5) (sin.f64 th))) (/.f64 1/2 (/.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (sin.f64 th)) (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))))) (pow.f64 kx 4) (/.f64 (sin.f64 th) (sin.f64 ky))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 3))) (+.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 3))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 5))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 3)))) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 kx 6))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 3)))) (pow.f64 kx 4))))))
(+.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (*.f64 kx kx))) (/.f64 (sin.f64 th) (sin.f64 ky))) (fma.f64 -1 (*.f64 (pow.f64 kx 6) (fma.f64 1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))))) (fma.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (pow.f64 (sin.f64 ky) 5)) (*.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 (sin.f64 ky) 2)))))) (neg.f64 (*.f64 (pow.f64 kx 4) (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))))))))))
(fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 3) (*.f64 kx kx))) (fma.f64 -1 (fma.f64 (pow.f64 kx 6) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 3)) (-.f64 2/45 (/.f64 (+.f64 -1/6 (*.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (pow.f64 (sin.f64 ky) 2)))) (fma.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (/.f64 (*.f64 -1/2 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5))))) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (pow.f64 kx 4) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5)))))) (/.f64 (sin.f64 th) (sin.f64 ky))))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 3)) (sin.f64 th)) (/.f64 (sin.f64 th) (sin.f64 ky))) (fma.f64 (pow.f64 kx 6) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 3)) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2))) (pow.f64 (sin.f64 ky) 2))))) (fma.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 5)) (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))) (/.f64 (+.f64 (/.f64 1/8 (/.f64 (pow.f64 (sin.f64 ky) 5) (sin.f64 th))) (/.f64 1/4 (/.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (sin.f64 th)) (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))))) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (pow.f64 kx 4) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 3)) (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))) (*.f64 (/.f64 -1/4 (pow.f64 (sin.f64 ky) 5)) (sin.f64 th))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(sin.f64 kx)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (sin.f64 kx))
(fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx))
(fma.f64 1/2 (/.f64 ky (/.f64 (sin.f64 kx) ky)) (sin.f64 kx))
(fma.f64 1/2 (*.f64 (/.f64 ky (sin.f64 kx)) ky) (sin.f64 kx))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4)))))
(fma.f64 1/2 (/.f64 ky (/.f64 (sin.f64 kx) ky)) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx)) (pow.f64 ky 4)) (sin.f64 kx)))
(fma.f64 1/2 (*.f64 (/.f64 ky (sin.f64 kx)) ky) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx)) (pow.f64 ky 4)) (sin.f64 kx)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 6)) (sin.f64 kx))))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4))) (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (sin.f64 kx) (pow.f64 ky 6))))))
(+.f64 (fma.f64 1/2 (/.f64 ky (/.f64 (sin.f64 kx) ky)) (sin.f64 kx)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 2/45 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (sin.f64 kx)) (pow.f64 ky 6)) (*.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx)) (pow.f64 ky 4)))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx)) (pow.f64 ky 4)) (sin.f64 kx)) (*.f64 1/2 (+.f64 (*.f64 (/.f64 (-.f64 2/45 (*.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (sin.f64 kx)) (pow.f64 ky 6)) (*.f64 (/.f64 ky (sin.f64 kx)) ky))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sin.f64 ky)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))
(fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))
(fma.f64 1/2 (*.f64 (/.f64 kx (sin.f64 ky)) kx) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky)))
(fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (/.f64 (sin.f64 ky) (pow.f64 kx 4))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky)))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky)))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2))) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (*.f64 (/.f64 kx (sin.f64 ky)) kx) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))))
(fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (/.f64 (sin.f64 ky) (pow.f64 kx 4))) (fma.f64 1/2 (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))) (/.f64 (sin.f64 ky) (pow.f64 kx 6))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 2/45 (/.f64 (+.f64 -1/6 (*.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (pow.f64 (sin.f64 ky) 2))) (sin.f64 ky)) (pow.f64 kx 6)) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2))) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 kx 6) (sin.f64 ky)) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2))) (pow.f64 (sin.f64 ky) 2))))) (fma.f64 1/2 (*.f64 (/.f64 kx (sin.f64 ky)) kx) (sin.f64 ky))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
th
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(fma.f64 -1/6 (pow.f64 th 3) th)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 1/120 (pow.f64 th 5) th))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 -1/5040 (pow.f64 th 7) (fma.f64 1/120 (pow.f64 th 5) th)))

localize51.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.3b
(pow.f64 (sin.f64 kx) 2)
0.3b
(pow.f64 (sin.f64 ky) 2)
2.9b
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
Compiler

Compiled 69 to 37 computations (46.4% saved)

series23.0ms (0.1%)

Counts
4 → 68
Calls

21 calls:

TimeVariablePointExpression
6.0ms
ky
@0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
3.0ms
ky
@-inf
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
2.0ms
kx
@0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
1.0ms
ky
@inf
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
1.0ms
th
@inf
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))

rewrite74.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
697×prod-diff_binary64
689×log-prod_binary64
256×expm1-udef_binary64
256×log1p-udef_binary64
254×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01454
129938
2382838
Stop Event
node limit
Counts
4 → 104
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))
(pow.f64 (sin.f64 ky) 2)
(pow.f64 (sin.f64 kx) 2)
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) 2)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) 2) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) 4) (pow.f64 (sin.f64 ky) 4))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (hypot.f64 (pow.f64 (sin.f64 kx) 3) (pow.f64 (sin.f64 ky) 3)) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 4) (-.f64 (pow.f64 (sin.f64 ky) 4) (pow.f64 (*.f64 (sin.f64 kx) (sin.f64 ky)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sin.f64 ky) (sin.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 ky) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 ky) 2))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 ky) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 ky) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 ky) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 ky) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 ky ky))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 ky) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 ky) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 ky) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (cbrt.f64 (pow.f64 (sin.f64 ky) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (*.f64 (cbrt.f64 (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 ky) 4)) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (sin.f64 ky))) (sqrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 ky) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (cbrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 ky ky)) (cos.f64 (+.f64 ky ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 ky) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 ky) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 ky) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 ky) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 ky) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 ky) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 ky))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 kx) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 kx) (sin.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 kx) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 kx)) 2) (cbrt.f64 (pow.f64 (sin.f64 kx) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 kx)) 2) (*.f64 (cbrt.f64 (sin.f64 kx)) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (cbrt.f64 (sin.f64 kx)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 kx)) (*.f64 (sqrt.f64 (sin.f64 kx)) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 kx) (sqrt.f64 (sin.f64 kx))) (sqrt.f64 (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 kx) (pow.f64 (cbrt.f64 (sin.f64 kx)) 2)) (cbrt.f64 (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 kx kx)) (cos.f64 (+.f64 kx kx))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 kx) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 kx) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 kx))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))) (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 1) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)) (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 3) (pow.f64 (sin.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 1))))))

simplify89.0ms (0.2%)

Algorithm
egg-herbie
Rules
969×fma-def_binary64
432×distribute-lft-in_binary64
432×distribute-rgt-in_binary64
426×*-commutative_binary64
303×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02062422
16012274
220182140
376772140
Stop Event
node limit
Counts
172 → 160
Calls
Call 1
Inputs
(sin.f64 ky)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sin.f64 kx)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (sin.f64 kx))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 6)) (sin.f64 kx))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(pow.f64 ky 2)
(+.f64 (*.f64 -1/3 (pow.f64 ky 4)) (pow.f64 ky 2))
(+.f64 (*.f64 -1/3 (pow.f64 ky 4)) (+.f64 (pow.f64 ky 2) (*.f64 2/45 (pow.f64 ky 6))))
(+.f64 (*.f64 -1/3 (pow.f64 ky 4)) (+.f64 (pow.f64 ky 2) (+.f64 (*.f64 -1/315 (pow.f64 ky 8)) (*.f64 2/45 (pow.f64 ky 6)))))
(pow.f64 kx 2)
(+.f64 (pow.f64 kx 2) (*.f64 -1/3 (pow.f64 kx 4)))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (*.f64 2/45 (pow.f64 kx 6))))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (+.f64 (*.f64 2/45 (pow.f64 kx 6)) (*.f64 -1/315 (pow.f64 kx 8)))))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 kx) 4)))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2)) (*.f64 (sin.f64 kx) (sin.f64 th)))) (+.f64 (*.f64 1/12 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))))) (pow.f64 ky 5)) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 kx) (*.f64 (sin.f64 th) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 (sin.f64 kx) 6))) (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 8)) (+.f64 (*.f64 2/45 (/.f64 1 (pow.f64 (sin.f64 kx) 4))) (*.f64 -1/2 (/.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 kx) 4)))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2)) (pow.f64 (sin.f64 kx) 2))))))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 kx) 4)))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2)) (*.f64 (sin.f64 kx) (sin.f64 th)))) (*.f64 -1/240 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 kx) 4)))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2)) (*.f64 (sin.f64 kx) (sin.f64 th)))) (+.f64 (*.f64 1/12 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))))) (pow.f64 ky 5)) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (*.f64 (sin.f64 th) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4)))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 2/45 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (pow.f64 (sin.f64 ky) 2))) (/.f64 1 (pow.f64 (sin.f64 ky) 8))))) (*.f64 (sin.f64 th) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6))))) (+.f64 (sin.f64 th) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (*.f64 (sin.f64 th) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4))))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
Outputs
(sin.f64 ky)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))
(fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))
(fma.f64 1/2 (/.f64 kx (/.f64 (sin.f64 ky) kx)) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky)))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (sin.f64 ky) (pow.f64 kx 4))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky)))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (/.f64 kx (/.f64 (sin.f64 ky) kx)) (sin.f64 ky)))
(fma.f64 -1/2 (*.f64 (pow.f64 kx 4) (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (sin.f64 ky) (pow.f64 kx 4))) (fma.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (/.f64 (sin.f64 ky) (pow.f64 kx 6))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 2/45 (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 ky)) (pow.f64 kx 6)) (fma.f64 1/2 (/.f64 kx (/.f64 (sin.f64 ky) kx)) (sin.f64 ky))))
(+.f64 (*.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) -1/6) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (fma.f64 (/.f64 (-.f64 2/45 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) -1/6) (pow.f64 (sin.f64 ky) 2))) (sin.f64 ky)) (pow.f64 kx 6) (/.f64 (*.f64 kx kx) (sin.f64 ky))) (sin.f64 ky)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (sin.f64 kx))
(fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx))
(fma.f64 1/2 (*.f64 (/.f64 ky (sin.f64 kx)) ky) (sin.f64 kx))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4)))))
(fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4))) (sin.f64 kx)))
(+.f64 (sin.f64 kx) (fma.f64 1/2 (*.f64 (/.f64 ky (sin.f64 kx)) ky) (*.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (sin.f64 kx)) (pow.f64 ky 4))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 6)) (sin.f64 kx))))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4))) (*.f64 1/2 (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (sin.f64 kx) (pow.f64 ky 6))))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 2/45 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (sin.f64 kx)) (pow.f64 ky 6)) (/.f64 -1/2 (/.f64 (sin.f64 kx) (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4))))))
(+.f64 (sin.f64 kx) (fma.f64 1/2 (*.f64 (/.f64 ky (sin.f64 kx)) ky) (fma.f64 1/2 (*.f64 (pow.f64 ky 6) (/.f64 (-.f64 2/45 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 2))) (sin.f64 kx))) (*.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (sin.f64 kx)) (pow.f64 ky 4)))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(pow.f64 ky 2)
(*.f64 ky ky)
(+.f64 (*.f64 -1/3 (pow.f64 ky 4)) (pow.f64 ky 2))
(fma.f64 -1/3 (pow.f64 ky 4) (*.f64 ky ky))
(fma.f64 (pow.f64 ky 4) -1/3 (*.f64 ky ky))
(fma.f64 ky ky (*.f64 (pow.f64 ky 4) -1/3))
(+.f64 (*.f64 -1/3 (pow.f64 ky 4)) (+.f64 (pow.f64 ky 2) (*.f64 2/45 (pow.f64 ky 6))))
(+.f64 (fma.f64 -1/3 (pow.f64 ky 4) (*.f64 ky ky)) (*.f64 2/45 (pow.f64 ky 6)))
(fma.f64 (pow.f64 ky 4) -1/3 (fma.f64 2/45 (pow.f64 ky 6) (*.f64 ky ky)))
(fma.f64 ky ky (fma.f64 2/45 (pow.f64 ky 6) (*.f64 (pow.f64 ky 4) -1/3)))
(+.f64 (*.f64 -1/3 (pow.f64 ky 4)) (+.f64 (pow.f64 ky 2) (+.f64 (*.f64 -1/315 (pow.f64 ky 8)) (*.f64 2/45 (pow.f64 ky 6)))))
(+.f64 (fma.f64 -1/3 (pow.f64 ky 4) (*.f64 ky ky)) (fma.f64 -1/315 (pow.f64 ky 8) (*.f64 2/45 (pow.f64 ky 6))))
(fma.f64 (pow.f64 ky 4) -1/3 (fma.f64 ky ky (fma.f64 2/45 (pow.f64 ky 6) (*.f64 -1/315 (pow.f64 ky 8)))))
(fma.f64 ky ky (fma.f64 (pow.f64 ky 4) -1/3 (fma.f64 2/45 (pow.f64 ky 6) (*.f64 -1/315 (pow.f64 ky 8)))))
(pow.f64 kx 2)
(*.f64 kx kx)
(+.f64 (pow.f64 kx 2) (*.f64 -1/3 (pow.f64 kx 4)))
(+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) -1/3))
(fma.f64 (pow.f64 kx 4) -1/3 (*.f64 kx kx))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (*.f64 2/45 (pow.f64 kx 6))))
(+.f64 (*.f64 kx kx) (fma.f64 -1/3 (pow.f64 kx 4) (*.f64 2/45 (pow.f64 kx 6))))
(fma.f64 kx kx (fma.f64 (pow.f64 kx 4) -1/3 (*.f64 2/45 (pow.f64 kx 6))))
(fma.f64 (pow.f64 kx 4) -1/3 (fma.f64 kx kx (*.f64 2/45 (pow.f64 kx 6))))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (+.f64 (*.f64 2/45 (pow.f64 kx 6)) (*.f64 -1/315 (pow.f64 kx 8)))))
(+.f64 (*.f64 kx kx) (fma.f64 -1/3 (pow.f64 kx 4) (fma.f64 2/45 (pow.f64 kx 6) (*.f64 -1/315 (pow.f64 kx 8)))))
(fma.f64 kx kx (fma.f64 (pow.f64 kx 4) -1/3 (fma.f64 2/45 (pow.f64 kx 6) (*.f64 -1/315 (pow.f64 kx 8)))))
(fma.f64 kx kx (fma.f64 (pow.f64 kx 4) -1/3 (fma.f64 -1/315 (pow.f64 kx 8) (*.f64 2/45 (pow.f64 kx 6)))))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(/.f64 (*.f64 ky (sin.f64 th)) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3)))
(+.f64 (/.f64 (*.f64 ky (sin.f64 th)) (sin.f64 kx)) (*.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3)))
(fma.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky))
(fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 2)) -1/6)) (pow.f64 ky 3)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 kx) 4)))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2)) (*.f64 (sin.f64 kx) (sin.f64 th)))) (+.f64 (*.f64 1/12 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))))) (pow.f64 ky 5)) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3))))
(+.f64 (/.f64 (*.f64 ky (sin.f64 th)) (sin.f64 kx)) (fma.f64 (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (*.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 1/12 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120))) (pow.f64 ky 5) (*.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3))))
(+.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky) (fma.f64 (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (*.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) 1/12 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120))) (pow.f64 ky 5) (*.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3))))
(fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (fma.f64 (fma.f64 1/2 (*.f64 (sin.f64 kx) (*.f64 (sin.f64 th) (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))))) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 1/12 (pow.f64 (sin.f64 kx) 2)) 1/120))) (pow.f64 ky 5) (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 2)) -1/6)) (pow.f64 ky 3))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 kx) (*.f64 (sin.f64 th) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 (sin.f64 kx) 6))) (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 8)) (+.f64 (*.f64 2/45 (/.f64 1 (pow.f64 (sin.f64 kx) 4))) (*.f64 -1/2 (/.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 kx) 4)))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2)) (pow.f64 (sin.f64 kx) 2))))))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 kx) 4)))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2)) (*.f64 (sin.f64 kx) (sin.f64 th)))) (*.f64 -1/240 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 kx) 4)))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2)) (*.f64 (sin.f64 kx) (sin.f64 th)))) (+.f64 (*.f64 1/12 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))))) (pow.f64 ky 5)) (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3)))))
(fma.f64 (fma.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx)) (fma.f64 -1/2 (*.f64 (sin.f64 kx) (*.f64 (sin.f64 th) (+.f64 (/.f64 2/3 (pow.f64 (sin.f64 kx) 6)) (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 8)) (+.f64 (/.f64 2/45 (pow.f64 (sin.f64 kx) 4)) (*.f64 -1/2 (/.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (pow.f64 (sin.f64 kx) 2)))))))) (fma.f64 -1/12 (*.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (*.f64 (sin.f64 kx) (sin.f64 th))) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/240)))) (pow.f64 ky 7) (+.f64 (/.f64 (*.f64 ky (sin.f64 th)) (sin.f64 kx)) (fma.f64 (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (*.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 1/12 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120))) (pow.f64 ky 5) (*.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3)))))
(fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) -1/5040 (fma.f64 -1/2 (*.f64 (*.f64 (sin.f64 kx) (sin.f64 th)) (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 8)) (+.f64 (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (pow.f64 (sin.f64 kx) 2)) (/.f64 2/45 (pow.f64 (sin.f64 kx) 4))) (/.f64 2/3 (pow.f64 (sin.f64 kx) 6))))) (fma.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/240 (*.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (*.f64 (*.f64 (sin.f64 kx) (sin.f64 th)) -1/12))))) (pow.f64 ky 7) (+.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky) (fma.f64 (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (*.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) 1/12 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120))) (pow.f64 ky 5) (*.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)))) (pow.f64 ky 3)))))
(fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (fma.f64 (+.f64 (*.f64 (*.f64 (sin.f64 kx) (sin.f64 th)) (+.f64 (*.f64 -1/2 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 8)) (+.f64 (/.f64 2/3 (pow.f64 (sin.f64 kx) 6)) (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (pow.f64 (sin.f64 kx) 2)) (/.f64 2/45 (pow.f64 (sin.f64 kx) 4)))))) (+.f64 (*.f64 -1/12 (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))) (/.f64 -1/12 (pow.f64 (sin.f64 kx) 6))))) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 -1/240 (pow.f64 (sin.f64 kx) 2)) -1/5040))) (pow.f64 ky 7) (fma.f64 (fma.f64 1/2 (*.f64 (sin.f64 kx) (*.f64 (sin.f64 th) (+.f64 (/.f64 1 (pow.f64 (sin.f64 kx) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 kx) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) 2))))) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 1/12 (pow.f64 (sin.f64 kx) 2)) 1/120))) (pow.f64 ky 5) (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (+.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 2)) -1/6)) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (/.f64 (pow.f64 (sin.f64 ky) 2) (sin.f64 th))) (sin.f64 th))
(fma.f64 -1/2 (*.f64 (*.f64 kx kx) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (*.f64 (sin.f64 th) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4)))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (*.f64 (sin.f64 th) (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2))))))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (/.f64 (pow.f64 (sin.f64 ky) 2) (sin.f64 th))) (fma.f64 1/2 (*.f64 (sin.f64 th) (*.f64 (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2)) (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))))) (sin.f64 th)))
(fma.f64 -1/2 (*.f64 (*.f64 kx kx) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2))) (fma.f64 (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (-.f64 (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2) (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)))) (*.f64 1/2 (*.f64 (pow.f64 kx 4) (*.f64 (pow.f64 (sin.f64 ky) 2) (sin.f64 th)))) (sin.f64 th)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 2/45 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (pow.f64 (sin.f64 ky) 2))) (/.f64 1 (pow.f64 (sin.f64 ky) 8))))) (*.f64 (sin.f64 th) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6))))) (+.f64 (sin.f64 th) (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (*.f64 (sin.f64 th) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4))))))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 4)) (+.f64 (/.f64 2/3 (pow.f64 (sin.f64 ky) 6)) (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (pow.f64 (sin.f64 ky) 2)) (/.f64 1 (pow.f64 (sin.f64 ky) 8))))) (*.f64 (sin.f64 th) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6)))) (+.f64 (sin.f64 th) (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (*.f64 (sin.f64 th) (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2))))))))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (/.f64 (pow.f64 (sin.f64 ky) 2) (sin.f64 th))) (fma.f64 -1/2 (*.f64 (sin.f64 th) (*.f64 (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6)) (+.f64 (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (pow.f64 (sin.f64 ky) 2)) (/.f64 1 (pow.f64 (sin.f64 ky) 8))) (+.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 4)) (/.f64 2/3 (pow.f64 (sin.f64 ky) 6)))))) (fma.f64 1/2 (*.f64 (sin.f64 th) (*.f64 (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2)) (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))))) (sin.f64 th))))
(fma.f64 -1/2 (fma.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx) (*.f64 (pow.f64 kx 6) (*.f64 (+.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 4)) (fma.f64 -1/2 (/.f64 (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (-.f64 (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2) (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)))) (pow.f64 (sin.f64 ky) 2)) (+.f64 (/.f64 2/3 (pow.f64 (sin.f64 ky) 6)) (/.f64 1 (pow.f64 (sin.f64 ky) 8))))) (*.f64 (pow.f64 (sin.f64 ky) 2) (sin.f64 th))))) (fma.f64 (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (-.f64 (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2) (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)))) (*.f64 1/2 (*.f64 (pow.f64 kx 4) (*.f64 (pow.f64 (sin.f64 ky) 2) (sin.f64 th)))) (sin.f64 th)))
(fma.f64 -1/2 (fma.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx) (*.f64 (pow.f64 kx 6) (*.f64 (+.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 4)) (fma.f64 -1/2 (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 8)) (/.f64 (-.f64 (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2) (/.f64 1/3 (pow.f64 (sin.f64 ky) 4))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (/.f64 2/3 (pow.f64 (sin.f64 ky) 6)) (/.f64 1 (pow.f64 (sin.f64 ky) 8))))) (*.f64 (pow.f64 (sin.f64 ky) 2) (sin.f64 th))))) (fma.f64 (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (-.f64 (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2) (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)))) (*.f64 1/2 (*.f64 (pow.f64 kx 4) (*.f64 (pow.f64 (sin.f64 ky) 2) (sin.f64 th)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (+.f64 th (*.f64 -1/6 (pow.f64 th 3))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5)))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(+.f64 (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (+.f64 th (*.f64 -1/5040 (pow.f64 th 7)))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))

eval207.0ms (0.5%)

Compiler

Compiled 9707 to 4633 computations (52.3% saved)

prune170.0ms (0.4%)

Pruning

22 alts after pruning (21 fresh and 1 done)

PrunedKeptTotal
New35221373
Fresh000
Picked101
Done011
Total35322375
Error
0b
Counts
375 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
49.4b
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
47.6b
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
0.2b
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
32.4b
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
49.3b
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
0.3b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
14.3b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (log.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))
1.1b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
22.5b
(*.f64 (sin.f64 ky) (/.f64 (log.f64 (exp.f64 (sin.f64 th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
1.3b
(/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))))
33.6b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
49.3b
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
32.0b
(*.f64 (sin.f64 ky) (/.f64 (pow.f64 (sqrt.f64 (sin.f64 th)) 2) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
9.0b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
49.4b
(sin.f64 th)
1.3b
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 3)) (sin.f64 th))
0.3b
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
49.4b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
0.4b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
0.4b
(*.f64 (sin.f64 ky) (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)) -1))
47.6b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
Compiler

Compiled 602 to 415 computations (31.1% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
0.1b
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
0.2b
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
0.2b
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
Compiler

Compiled 36 to 9 computations (75% saved)

series15.0ms (0%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
1.0ms
th
@inf
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
1.0ms
th
@0
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
1.0ms
ky
@0
(/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))
1.0ms
ky
@-inf
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
1.0ms
kx
@0
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))

rewrite85.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
570×log-prod_binary64
452×exp-prod_binary64
289×pow-prod-down_binary64
287×pow2_binary64
201×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01039
120939
2283539
Stop Event
node limit
Counts
3 → 134
Calls
Call 1
Inputs
(/.f64 (sin.f64 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))
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (*.f64 (cbrt.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 2) (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 th)) (*.f64 (sqrt.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sqrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 th)) 1) (/.f64 (sqrt.f64 (sin.f64 th)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 th)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 (sqrt.f64 (sin.f64 th)) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 (cbrt.f64 (sin.f64 th)) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) -2) (/.f64 (sin.f64 th) (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2)) (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 th)) (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2)) (/.f64 (sqrt.f64 (sin.f64 th)) (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -1/2) (/.f64 (sin.f64 th) (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) (/.f64 (cbrt.f64 (sin.f64 th)) (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 th) 1) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 th) (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (neg.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (cbrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (sin.f64 ky))) (sqrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 th) (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 1 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) (*.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2) (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 1 (neg.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) 1) (/.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1) (/.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) -2) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (cbrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (/.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (cbrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 ky) -1/2) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sqrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) (sqrt.f64 (sin.f64 ky))) (/.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3) (pow.f64 (sin.f64 ky) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 2)) (cbrt.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))) (sqrt.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3) (pow.f64 (sin.f64 ky) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 2)) (cbrt.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (sqrt.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1) 1))))))

simplify88.0ms (0.2%)

Algorithm
egg-herbie
Rules
826×fma-def_binary64
696×associate-*r*_binary64
666×associate-*l*_binary64
426×times-frac_binary64
399×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02033206
16232870
221012693
Stop Event
node limit
Counts
218 → 191
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
1
(+.f64 1 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (pow.f64 (sin.f64 ky) 2))) (+.f64 1 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (pow.f64 (sin.f64 ky) 2))) (+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (sin.f64 kx) ky)
(+.f64 (/.f64 (sin.f64 kx) ky) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky))
(+.f64 (/.f64 (sin.f64 kx) ky) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))) (pow.f64 ky 3))))
(+.f64 (/.f64 (sin.f64 kx) ky) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky) (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))) (pow.f64 ky 3)) (*.f64 (-.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 kx))) (+.f64 (*.f64 -1/5040 (sin.f64 kx)) (+.f64 (*.f64 1/120 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))))))) (pow.f64 ky 5)))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(sin.f64 ky)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sin.f64 kx)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (sin.f64 kx))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 6)) (sin.f64 kx))))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) th) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) -1/6)))
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2))))) (+.f64 th (*.f64 (pow.f64 th 3) -1/6)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 5) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))))) (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) th) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) -1/6))))
(fma.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2))))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2))))) (+.f64 (*.f64 (pow.f64 th 3) -1/6) (*.f64 (pow.f64 th 5) 1/120))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 5) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) th) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 7)) -1/5040)))))
(+.f64 (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2))))) (+.f64 (*.f64 (pow.f64 th 3) -1/6) (*.f64 (pow.f64 th 7) -1/5040))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2))))) (+.f64 th (*.f64 (pow.f64 th 5) 1/120))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th))
(fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3))))) (pow.f64 kx 4)) (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th)) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 kx 4)))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th)) (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 kx 4)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3))))) (pow.f64 kx 4)) (+.f64 (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (neg.f64 (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3))))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6)))))
(-.f64 (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th)) (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 2/45 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (*.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3))))) (pow.f64 kx 6))) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 kx 4)))
(-.f64 (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th)) (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 kx 4))) (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (-.f64 2/45 (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 2)))) (/.f64 1/4 (/.f64 (/.f64 (pow.f64 (sin.f64 ky) 4) (sin.f64 th)) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/3))))) (pow.f64 kx 6)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 ky 3) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)))
(fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (/.f64 1/120 (/.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 ky 5) (fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 ky 3) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))))
(fma.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (*.f64 (-.f64 (/.f64 (*.f64 1/120 (sin.f64 th)) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6)))) (pow.f64 ky 5))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (fma.f64 (-.f64 (/.f64 (*.f64 -1/5040 (sin.f64 th)) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))))))) (pow.f64 ky 7) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(+.f64 (fma.f64 (-.f64 (/.f64 1/120 (/.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 ky 5) (fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 ky 3) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)))) (*.f64 (-.f64 (/.f64 -1/5040 (/.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/120 (/.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (*.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (/.f64 (-.f64 2/45 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))) (*.f64 -1/2 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 7)))
(fma.f64 (-.f64 (/.f64 (*.f64 1/120 (sin.f64 th)) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6)))) (pow.f64 ky 5) (fma.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 (*.f64 1/120 (sin.f64 th)) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6)))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (-.f64 2/45 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6))))) (pow.f64 ky 7)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 kx) (sin.f64 kx) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
1
(+.f64 1 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))))
(+.f64 1 (/.f64 (*.f64 1/2 (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)))
(fma.f64 1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1)
(fma.f64 1/2 (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) 2)) kx) 1)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (pow.f64 (sin.f64 ky) 2))) (+.f64 1 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2)))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4))) (+.f64 1 (/.f64 (*.f64 1/2 (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)) (pow.f64 kx 4)) (fma.f64 1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1))
(+.f64 1 (fma.f64 1/2 (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) 2)) kx) (*.f64 (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 2)) (pow.f64 kx 4))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (pow.f64 (sin.f64 ky) 2))) (+.f64 1 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (pow.f64 (sin.f64 ky) 2))))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4))) (+.f64 1 (*.f64 1/2 (+.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6)))))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)) (pow.f64 kx 4)) (fma.f64 1/2 (+.f64 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (/.f64 (+.f64 2/45 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2))) (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6)))) 1))
(fma.f64 1/2 (fma.f64 (/.f64 (-.f64 2/45 (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 2))) (pow.f64 (sin.f64 ky) 2)) (pow.f64 kx 6) (*.f64 (/.f64 kx (pow.f64 (sin.f64 ky) 2)) kx)) (+.f64 1 (*.f64 (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 2)) (pow.f64 kx 4))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(/.f64 (sin.f64 kx) ky)
(+.f64 (/.f64 (sin.f64 kx) ky) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky))
(+.f64 (/.f64 (sin.f64 kx) ky) (*.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx)))))
(fma.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (/.f64 (sin.f64 kx) ky))
(fma.f64 ky (fma.f64 (sin.f64 kx) 1/6 (/.f64 1/2 (sin.f64 kx))) (/.f64 (sin.f64 kx) ky))
(+.f64 (/.f64 (sin.f64 kx) ky) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))) (pow.f64 ky 3))))
(+.f64 (/.f64 (sin.f64 kx) ky) (fma.f64 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) ky (*.f64 (pow.f64 ky 3) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) (*.f64 (sin.f64 kx) 1/120))))))
(+.f64 (/.f64 (sin.f64 kx) ky) (fma.f64 (pow.f64 ky 3) (-.f64 (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/2)) (sin.f64 kx)) (fma.f64 (sin.f64 kx) 1/120 (*.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6))))) (*.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)))))
(fma.f64 ky (fma.f64 (sin.f64 kx) 1/6 (/.f64 1/2 (sin.f64 kx))) (fma.f64 (pow.f64 ky 3) (-.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (sin.f64 kx)) (fma.f64 (sin.f64 kx) 1/120 (+.f64 (*.f64 (sin.f64 kx) -1/36) (/.f64 -1/12 (sin.f64 kx))))) (/.f64 (sin.f64 kx) ky)))
(+.f64 (/.f64 (sin.f64 kx) ky) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky) (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))) (pow.f64 ky 3)) (*.f64 (-.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 kx))) (+.f64 (*.f64 -1/5040 (sin.f64 kx)) (+.f64 (*.f64 1/120 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))))))) (pow.f64 ky 5)))))
(+.f64 (/.f64 (sin.f64 kx) ky) (fma.f64 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) ky (fma.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) (*.f64 (sin.f64 kx) 1/120))) (pow.f64 ky 3) (*.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 kx))) (fma.f64 -1/5040 (sin.f64 kx) (fma.f64 1/120 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) (*.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) (*.f64 (sin.f64 kx) 1/120)))))))))))
(+.f64 (fma.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (/.f64 (sin.f64 kx) ky)) (fma.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/2 (-.f64 (/.f64 2/45 (sin.f64 kx)) (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/2)) (pow.f64 (sin.f64 kx) 3)))) (fma.f64 (sin.f64 kx) -1/5040 (fma.f64 -1/6 (-.f64 (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/2)) (sin.f64 kx)) (fma.f64 (sin.f64 kx) 1/120 (*.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6))))) (*.f64 1/120 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)))))) (*.f64 (pow.f64 ky 3) (-.f64 (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/2)) (sin.f64 kx)) (fma.f64 (sin.f64 kx) 1/120 (*.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6))))))))
(+.f64 (fma.f64 ky (fma.f64 (sin.f64 kx) 1/6 (/.f64 1/2 (sin.f64 kx))) (/.f64 (sin.f64 kx) ky)) (fma.f64 (pow.f64 ky 5) (-.f64 (/.f64 (+.f64 1/45 (*.f64 1/4 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 kx)) (fma.f64 -1/6 (-.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (sin.f64 kx)) (fma.f64 (sin.f64 kx) 1/120 (+.f64 (*.f64 (sin.f64 kx) -1/36) (/.f64 -1/12 (sin.f64 kx))))) (fma.f64 (sin.f64 kx) -1/5040 (+.f64 (*.f64 (sin.f64 kx) 1/720) (/.f64 1/240 (sin.f64 kx)))))) (*.f64 (pow.f64 ky 3) (-.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (sin.f64 kx)) (fma.f64 (sin.f64 kx) 1/120 (+.f64 (*.f64 (sin.f64 kx) -1/36) (/.f64 -1/12 (sin.f64 kx))))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky)))
(/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))
(sin.f64 ky)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))
(fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))
(fma.f64 1/2 (/.f64 kx (/.f64 (sin.f64 ky) kx)) (sin.f64 ky))
(fma.f64 1/2 (*.f64 (/.f64 kx (sin.f64 ky)) kx) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky)))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (sin.f64 ky) (pow.f64 kx 4))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky)))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (/.f64 kx (/.f64 (sin.f64 ky) kx)) (sin.f64 ky)))
(+.f64 (sin.f64 ky) (fma.f64 1/2 (*.f64 (/.f64 kx (sin.f64 ky)) kx) (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (/.f64 (sin.f64 ky) (pow.f64 kx 4)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (sin.f64 ky) (pow.f64 kx 4))) (fma.f64 1/2 (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (/.f64 (sin.f64 ky) (pow.f64 kx 6))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (*.f64 (/.f64 (+.f64 2/45 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 ky)) (pow.f64 kx 6)) (fma.f64 1/2 (/.f64 kx (/.f64 (sin.f64 ky) kx)) (sin.f64 ky))))
(fma.f64 1/2 (fma.f64 (/.f64 (-.f64 2/45 (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 2))) (sin.f64 ky)) (pow.f64 kx 6) (*.f64 (/.f64 kx (sin.f64 ky)) kx)) (+.f64 (sin.f64 ky) (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (/.f64 (sin.f64 ky) (pow.f64 kx 4)))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sin.f64 kx)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (sin.f64 kx))
(fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx))
(fma.f64 1/2 (/.f64 ky (/.f64 (sin.f64 kx) ky)) (sin.f64 kx))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4)))))
(fma.f64 1/2 (/.f64 ky (/.f64 (sin.f64 kx) ky)) (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4))) (sin.f64 kx)))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (*.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (sin.f64 kx)) (pow.f64 ky 4)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 ky 2) (sin.f64 kx))) (+.f64 (sin.f64 kx) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 ky 4)) (sin.f64 kx))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 6)) (sin.f64 kx))))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4))) (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (sin.f64 kx) (pow.f64 ky 6))))))
(+.f64 (fma.f64 1/2 (/.f64 ky (/.f64 (sin.f64 kx) ky)) (sin.f64 kx)) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 2/45 (sin.f64 kx)) (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/2)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 ky 6)) (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/2)) (/.f64 (sin.f64 kx) (pow.f64 ky 4)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 ky ky) (sin.f64 kx)) (sin.f64 kx)) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 2/45 (sin.f64 kx)) (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 3))) (pow.f64 ky 6)) (*.f64 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (sin.f64 kx)) (pow.f64 ky 4))))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
(sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))
(hypot.f64 (sin.f64 ky) (sin.f64 kx))

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
Compiler

Compiled 6 to 4 computations (33.3% saved)

localize10.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
0.2b
(/.f64 (sin.f64 th) (sin.f64 ky))
0.3b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
Compiler

Compiled 22 to 7 computations (68.2% saved)

series14.0ms (0%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
7.0ms
ky
@0
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
2.0ms
th
@0
(/.f64 (sin.f64 th) (sin.f64 ky))
1.0ms
ky
@0
(/.f64 (sin.f64 th) (sin.f64 ky))
1.0ms
ky
@inf
(/.f64 (sin.f64 th) (sin.f64 ky))
1.0ms
ky
@-inf
(/.f64 (sin.f64 th) (sin.f64 ky))

rewrite61.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
788×pow1_binary64
726×add-log-exp_binary64
726×log1p-expm1-u_binary64
726×expm1-log1p-u_binary64
709×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0721
114421
2191121
Stop Event
node limit
Counts
2 → 53
Calls
Call 1
Inputs
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
(/.f64 (sin.f64 th) (sin.f64 ky))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 ky) (/.f64 (sin.f64 ky) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sin.f64 ky) (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (neg.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 1) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (cbrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (sin.f64 ky))) (sqrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 th)) (sin.f64 ky)) (neg.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 th))) (neg.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 3) (pow.f64 (sin.f64 ky) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (sin.f64 th) (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 th) (/.f64 1 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 th) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) 2) (cbrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (*.f64 (cbrt.f64 (sin.f64 th)) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 th)) (*.f64 (sqrt.f64 (sin.f64 th)) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (neg.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 th)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 th)) 1) (/.f64 (sqrt.f64 (sin.f64 th)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (/.f64 (sin.f64 th) (cbrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (cbrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 th)) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (/.f64 (sqrt.f64 (sin.f64 th)) (cbrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (sin.f64 ky))) (/.f64 (sin.f64 th) (sqrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (sqrt.f64 (sin.f64 ky))) (/.f64 (cbrt.f64 (sin.f64 th)) (sqrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (sin.f64 th)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (sin.f64 ky) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))))

simplify53.0ms (0.1%)

Algorithm
egg-herbie
Rules
531×cancel-sign-sub-inv_binary64
471×fma-neg_binary64
469×sub-neg_binary64
437×distribute-neg-in_binary64
352×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060309
1176300
2526291
32063287
47039287
Stop Event
node limit
Counts
85 → 75
Calls
Call 1
Inputs
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
th
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(/.f64 th (sin.f64 ky))
(+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky)))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky))))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky))) (+.f64 (*.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky)))))
(/.f64 (sin.f64 th) ky)
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (+.f64 (/.f64 (sin.f64 th) ky) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 3)))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (+.f64 (/.f64 (sin.f64 th) ky) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 3))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th)))) (+.f64 (*.f64 -1/5040 (sin.f64 th)) (*.f64 1/720 (sin.f64 th)))) (pow.f64 ky 5))))))
Outputs
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
th
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(fma.f64 -1/6 (pow.f64 th 3) th)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 1/120 (pow.f64 th 5) th))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 -1/5040 (pow.f64 th 7) (fma.f64 1/120 (pow.f64 th 5) th)))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 1/120 (pow.f64 th 5) (fma.f64 -1/5040 (pow.f64 th 7) th)))
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(/.f64 th (sin.f64 ky))
(+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky)))
(fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (/.f64 th (sin.f64 ky)))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky))))
(fma.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky)) (fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (/.f64 th (sin.f64 ky))))
(fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (fma.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky)) (/.f64 th (sin.f64 ky))))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky))) (+.f64 (*.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky)))))
(fma.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky)) (fma.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky)) (fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (/.f64 th (sin.f64 ky)))))
(fma.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky)) (fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (fma.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky)) (/.f64 th (sin.f64 ky)))))
(fma.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky)) (fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (fma.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky)) (/.f64 th (sin.f64 ky)))))
(/.f64 (sin.f64 th) ky)
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (sin.f64 th) (*.f64 ky 1/6) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (+.f64 (/.f64 (sin.f64 th) ky) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 3)))))
(+.f64 (fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky)) (neg.f64 (*.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 3))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky)) (*.f64 (sin.f64 th) (*.f64 -7/360 (pow.f64 ky 3))))
(fma.f64 (pow.f64 ky 3) (*.f64 (sin.f64 th) 7/360) (fma.f64 (sin.f64 th) (*.f64 ky 1/6) (/.f64 (sin.f64 th) ky)))
(+.f64 (/.f64 (sin.f64 th) ky) (*.f64 (sin.f64 th) (-.f64 (*.f64 ky 1/6) (*.f64 (pow.f64 ky 3) -7/360))))
(+.f64 (/.f64 (sin.f64 th) ky) (*.f64 (sin.f64 th) (+.f64 (*.f64 ky 1/6) (*.f64 (pow.f64 ky 3) 7/360))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (+.f64 (/.f64 (sin.f64 th) ky) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 3))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th)))) (+.f64 (*.f64 -1/5040 (sin.f64 th)) (*.f64 1/720 (sin.f64 th)))) (pow.f64 ky 5))))))
(+.f64 (fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky)) (fma.f64 -1 (*.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 3)) (neg.f64 (*.f64 (fma.f64 1/6 (*.f64 (sin.f64 th) -7/360) (*.f64 (sin.f64 th) 1/840)) (pow.f64 ky 5)))))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (fma.f64 -1 (fma.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 3) (*.f64 (fma.f64 (sin.f64 th) 1/840 (*.f64 (sin.f64 th) -7/2160)) (pow.f64 ky 5))) (/.f64 (sin.f64 th) ky)))
(-.f64 (fma.f64 (sin.f64 th) (*.f64 ky 1/6) (/.f64 (sin.f64 th) ky)) (fma.f64 (sin.f64 th) (*.f64 (pow.f64 ky 3) -7/360) (*.f64 (*.f64 (sin.f64 th) -31/15120) (pow.f64 ky 5))))
(+.f64 (/.f64 (sin.f64 th) ky) (fma.f64 (pow.f64 ky 5) (*.f64 (sin.f64 th) 31/15120) (*.f64 (sin.f64 th) (-.f64 (*.f64 ky 1/6) (*.f64 (pow.f64 ky 3) -7/360)))))
(+.f64 (/.f64 (sin.f64 th) ky) (fma.f64 (pow.f64 ky 5) (*.f64 (sin.f64 th) 31/15120) (*.f64 (sin.f64 th) (+.f64 (*.f64 ky 1/6) (*.f64 (pow.f64 ky 3) 7/360)))))

localize15.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
0.1b
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
0.2b
(*.f64 (sin.f64 ky) (sin.f64 th))
1.2b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
Compiler

Compiled 33 to 9 computations (72.7% saved)

series7.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
2.0ms
ky
@0
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.0ms
kx
@0
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.0ms
th
@0
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.0ms
ky
@0
(*.f64 (sin.f64 ky) (sin.f64 th))
0.0ms
th
@0
(*.f64 (sin.f64 ky) (sin.f64 th))

rewrite77.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
562×log-prod_binary64
373×prod-diff_binary64
316×pow-prod-down_binary64
293×pow2_binary64
206×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
121026
2289126
Stop Event
node limit
Counts
2 → 79
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (sin.f64 ky) (sin.f64 th))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 2) (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (*.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 ky) (neg.f64 (sin.f64 th))) (/.f64 1 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (*.f64 (sin.f64 ky) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) 1) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 th) 1) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 1) (/.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (/.f64 (sin.f64 th) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 th) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (/.f64 (sin.f64 ky) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) -2) (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 2) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (/.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (sin.f64 th) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 th) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (sin.f64 ky) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) -1/2) (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 2) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 3) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 3) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th)))) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 ky) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 ky) (sin.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (cos.f64 (-.f64 ky th)) 2) (/.f64 (cos.f64 (+.f64 ky th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 ky th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 ky th)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 ky) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 ky) (sin.f64 th)))) 2))))))

simplify114.0ms (0.3%)

Algorithm
egg-herbie
Rules
802×fma-def_binary64
506×associate-*l*_binary64
476×associate-*r*_binary64
341×fma-neg_binary64
277×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01512151
14722129
216191974
372571974
Stop Event
node limit
Counts
139 → 120
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) ky)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky)))
(+.f64 (*.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5))) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 th) (pow.f64 ky 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky))))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 ky) th)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (+.f64 (*.f64 (sin.f64 ky) th) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (+.f64 (*.f64 (sin.f64 ky) th) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5))))))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
Outputs
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (+.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 ky 3) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)))
(fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (+.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 5) (fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 ky 3) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))))
(fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (fma.f64 (-.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2))))))) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6))) (pow.f64 ky 5) (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (fma.f64 (-.f64 (/.f64 (*.f64 -1/5040 (sin.f64 th)) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (*.f64 1/2 (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))))))) (pow.f64 ky 7) (*.f64 (+.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(+.f64 (fma.f64 (-.f64 (/.f64 (*.f64 (sin.f64 th) -1/5040) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))) (/.f64 (*.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) -1/2) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 7) (*.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 ky 3))) (fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) -1/2)) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 5) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))))
(fma.f64 (-.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2))))))) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6))) (pow.f64 ky 5) (fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) -1/5040) (fma.f64 1/2 (/.f64 (-.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2))))))) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (-.f64 2/45 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6))))) (pow.f64 ky 7) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 th (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky)))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 5) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))
(fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky))))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 5) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 -1/5040 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 7) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) th))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/6 (pow.f64 th 3))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 kx kx))) (sin.f64 th))
(fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th))
(fma.f64 -1/2 (*.f64 (*.f64 kx kx) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 kx 4)) (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 kx kx))) (sin.f64 th)))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th)) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4))) (pow.f64 kx 4)))
(-.f64 (fma.f64 -1/2 (*.f64 (*.f64 kx kx) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)) (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 kx 4)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 kx 4)) (+.f64 (fma.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 kx kx))) (sin.f64 th)) (neg.f64 (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))))) (*.f64 1/4 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 4) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))))))) (pow.f64 kx 6)))))
(-.f64 (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th)) (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2))))) (*.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 kx 6))) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4))) (pow.f64 kx 4)))
(fma.f64 -1/2 (*.f64 (*.f64 kx kx) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2))) (-.f64 (fma.f64 (fma.f64 1/2 (*.f64 (-.f64 2/45 (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 2))) (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2))) (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 (sin.f64 ky) 2)) (*.f64 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) 1/4) (+.f64 1/3 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))))) (neg.f64 (pow.f64 kx 6)) (sin.f64 th)) (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 kx 4))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 th) ky)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky))
(fma.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (*.f64 (sin.f64 th) ky))
(fma.f64 (sin.f64 th) ky (*.f64 (sin.f64 th) (*.f64 (pow.f64 ky 3) -1/6)))
(*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(+.f64 (*.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky)))
(fma.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (fma.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (*.f64 (sin.f64 th) ky)))
(fma.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (fma.f64 (sin.f64 th) ky (*.f64 (sin.f64 th) (*.f64 (pow.f64 ky 3) -1/6))))
(fma.f64 (sin.f64 th) (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 (sin.f64 th) (+.f64 (*.f64 1/120 (pow.f64 ky 5)) ky)))
(+.f64 (*.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5))) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 th) (pow.f64 ky 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky))))
(fma.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (fma.f64 -1/5040 (*.f64 (sin.f64 th) (pow.f64 ky 7)) (fma.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (*.f64 (sin.f64 th) ky))))
(fma.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (fma.f64 -1/5040 (*.f64 (sin.f64 th) (pow.f64 ky 7)) (fma.f64 (sin.f64 th) ky (*.f64 (sin.f64 th) (*.f64 (pow.f64 ky 3) -1/6)))))
(+.f64 (*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3)))) (*.f64 (sin.f64 th) (+.f64 (*.f64 1/120 (pow.f64 ky 5)) (*.f64 -1/5040 (pow.f64 ky 7)))))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 ky) th)
(*.f64 th (sin.f64 ky))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sin.f64 ky) th))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (*.f64 th (sin.f64 ky)))
(fma.f64 th (sin.f64 ky) (*.f64 (*.f64 -1/6 (pow.f64 th 3)) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (+.f64 (*.f64 (sin.f64 ky) th) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5)))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (fma.f64 (sin.f64 ky) th (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5)))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (fma.f64 th (sin.f64 ky) (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 5) 1/120))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (+.f64 (*.f64 (sin.f64 ky) th) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5))))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (fma.f64 (sin.f64 ky) th (fma.f64 -1/5040 (*.f64 (sin.f64 ky) (pow.f64 th 7)) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5))))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (fma.f64 th (sin.f64 ky) (fma.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5)) (*.f64 (pow.f64 th 7) (*.f64 -1/5040 (sin.f64 ky))))))
(+.f64 (*.f64 (sin.f64 ky) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/5040 (pow.f64 th 7)))))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))
(*.f64 (sin.f64 th) (sin.f64 ky))

localize68.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2))))
0.3b
(pow.f64 (sin.f64 ky) 2)
1.9b
(-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))
6.7b
(sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2)))
Compiler

Compiled 101 to 51 computations (49.5% saved)

series48.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
15.0ms
ky
@-inf
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2))))
9.0ms
ky
@inf
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2))))
6.0ms
ky
@0
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2))))
2.0ms
ky
@0
(sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2)))
2.0ms
kx
@-inf
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2))))

rewrite765.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
710×log-prod_binary64
490×fma-def_binary64
272×expm1-udef_binary64
272×log1p-udef_binary64
271×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01461
132637
2457027
Stop Event
node limit
Counts
3 → 118
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2)))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))
(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2) 2)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2) 2) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 2) (pow.f64 (sin.f64 ky) 4))) (sqrt.f64 (-.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (hypot.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (pow.f64 (sin.f64 kx) 2) 3/2)) (hypot.f64 (pow.f64 (sin.f64 kx) 2) (sqrt.f64 (*.f64 (pow.f64 (sin.f64 ky) 2) (-.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sin.f64 ky) (sin.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sin.f64 kx) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 kx) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 2)) (cbrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 kx) (sin.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8)) (/.f64 1 (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4)) (/.f64 1 (pow.f64 (cos.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4) (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (cos.f64 kx) 2) (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8)) (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4)) (pow.f64 (cos.f64 kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8))) (neg.f64 (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4))) (neg.f64 (pow.f64 (cos.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1/8 (pow.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) 3)) (+.f64 1/4 (-.f64 (*.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) (*.f64 1/2 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/4 (*.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) (*.f64 (cos.f64 (+.f64 kx kx)) -1/2))) (-.f64 1/2 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 kx) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 kx) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 kx))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (neg.f64 (cos.f64 (+.f64 kx kx))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 kx kx)) -1/2 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) 2) (neg.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (neg.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (cos.f64 (+.f64 kx kx)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) (cbrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2))) (cbrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) (sqrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cos.f64 (+.f64 kx kx))) 1/2 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))) (sqrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 kx kx))) 2)) (cbrt.f64 (cos.f64 (+.f64 kx kx))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (sqrt.f64 (cos.f64 (+.f64 kx kx)))) (sqrt.f64 (cos.f64 (+.f64 kx kx))) 1/2)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2) (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (*.f64 (cbrt.f64 (sin.f64 ky)) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 ky)) (/.f64 1 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) 1) (/.f64 (sqrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (/.f64 (sin.f64 ky) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (/.f64 (sqrt.f64 (sin.f64 ky)) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (sin.f64 ky) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (cbrt.f64 (sin.f64 ky)) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1))))))

simplify130.0ms (0.3%)

Algorithm
egg-herbie
Rules
739×fma-def_binary64
638×associate-*r*_binary64
616×associate-*l*_binary64
393×distribute-lft-in_binary64
393×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01812489
15072477
215582150
377592150
Stop Event
node limit
Counts
178 → 165
Calls
Call 1
Inputs
(sin.f64 ky)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))
(sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 2))) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 2))) (+.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))) (*.f64 -1/2 (*.f64 (*.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) 2)) (pow.f64 ky 4)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 2))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) 2)) (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (pow.f64 ky 6)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))) (*.f64 -1/2 (*.f64 (*.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) 2)) (pow.f64 ky 4)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(pow.f64 kx 2)
(+.f64 (pow.f64 kx 2) (*.f64 -1/3 (pow.f64 kx 4)))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (*.f64 2/45 (pow.f64 kx 6))))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (+.f64 (*.f64 2/45 (pow.f64 kx 6)) (*.f64 -1/315 (pow.f64 kx 8)))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx)))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx)))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx)))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (*.f64 (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (pow.f64 ky 3)))
(+.f64 (*.f64 (+.f64 (*.f64 1/120 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2))) (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) 2)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))))) (pow.f64 ky 5)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (*.f64 (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (pow.f64 ky 3))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/12 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2))) (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) 2)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 -1/5040 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 -1/240 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2))) (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) 2)) (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (+.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 4)) (*.f64 2/45 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2)))))) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))))) (pow.f64 ky 7)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2))) (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) 2)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))))) (pow.f64 ky 5)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (*.f64 (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
1
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 1 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4))))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4)))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 2/45 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (pow.f64 (sin.f64 ky) 2))) (/.f64 1 (pow.f64 (sin.f64 ky) 8))))) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))))
Outputs
(sin.f64 ky)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))
(fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky)))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (sin.f64 ky) (pow.f64 kx 4))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky)))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky)))
(fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (fma.f64 -1/2 (*.f64 (pow.f64 kx 4) (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky))) (sin.f64 ky)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (sin.f64 ky))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (sin.f64 ky))) (sin.f64 ky))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (sin.f64 ky) (pow.f64 kx 4))) (fma.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (/.f64 (sin.f64 ky) (pow.f64 kx 6))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky)) (pow.f64 kx 4)) (fma.f64 1/2 (/.f64 (+.f64 2/45 (/.f64 (*.f64 1/2 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2))) (/.f64 (sin.f64 ky) (pow.f64 kx 6))) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (sin.f64 ky))))
(fma.f64 1/2 (fma.f64 (/.f64 (-.f64 2/45 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) -1/6) (pow.f64 (sin.f64 ky) 2))) (sin.f64 ky)) (pow.f64 kx 6) (/.f64 (*.f64 kx kx) (sin.f64 ky))) (fma.f64 -1/2 (*.f64 (pow.f64 kx 4) (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (sin.f64 ky))) (sin.f64 ky)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))
(sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 2))) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 ky ky)) (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) (*.f64 ky ky)) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 2))) (+.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))) (*.f64 -1/2 (*.f64 (*.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) 2)) (pow.f64 ky 4)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))))))
(+.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 ky ky)) (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))) 2)) (pow.f64 ky 4)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 ky ky)) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))) 2)) (pow.f64 ky 4))) (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))))
(+.f64 (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) (+.f64 (*.f64 (pow.f64 ky 4) (+.f64 -1/6 (*.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)) -1/8))) (*.f64 1/2 (*.f64 ky ky)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 2))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) 2)) (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (pow.f64 ky 6)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))) (*.f64 -1/2 (*.f64 (*.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) 2)) (pow.f64 ky 4)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 ky ky)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))) 2)) (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))) (pow.f64 ky 6))) (+.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))) 2)) (pow.f64 ky 4)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 ky ky)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (-.f64 2/45 (/.f64 (+.f64 -1/6 (*.f64 -1/2 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))) 2))) (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (pow.f64 ky 6))) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (+.f64 1/3 (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))) 2)) (pow.f64 ky 4))) (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) (+.f64 (*.f64 ky ky) (*.f64 (fma.f64 1/2 (/.f64 (fma.f64 1/4 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)) 1/3) (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)) 2/45) (pow.f64 ky 6)))) (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) (*.f64 (pow.f64 ky 4) (+.f64 -1/6 (*.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)) -1/8))) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(sqrt.f64 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
(sqrt.f64 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))
(sqrt.f64 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))
(hypot.f64 (sin.f64 ky) (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))
(pow.f64 kx 2)
(*.f64 kx kx)
(+.f64 (pow.f64 kx 2) (*.f64 -1/3 (pow.f64 kx 4)))
(+.f64 (*.f64 kx kx) (*.f64 (pow.f64 kx 4) -1/3))
(fma.f64 (pow.f64 kx 4) -1/3 (*.f64 kx kx))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (*.f64 2/45 (pow.f64 kx 6))))
(+.f64 (*.f64 kx kx) (fma.f64 -1/3 (pow.f64 kx 4) (*.f64 2/45 (pow.f64 kx 6))))
(fma.f64 kx kx (fma.f64 (pow.f64 kx 4) -1/3 (*.f64 2/45 (pow.f64 kx 6))))
(fma.f64 (pow.f64 kx 4) -1/3 (fma.f64 2/45 (pow.f64 kx 6) (*.f64 kx kx)))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (+.f64 (*.f64 2/45 (pow.f64 kx 6)) (*.f64 -1/315 (pow.f64 kx 8)))))
(+.f64 (*.f64 kx kx) (fma.f64 -1/3 (pow.f64 kx 4) (fma.f64 2/45 (pow.f64 kx 6) (*.f64 -1/315 (pow.f64 kx 8)))))
(fma.f64 kx kx (fma.f64 (pow.f64 kx 4) -1/3 (fma.f64 2/45 (pow.f64 kx 6) (*.f64 -1/315 (pow.f64 kx 8)))))
(fma.f64 kx kx (fma.f64 (pow.f64 kx 4) -1/3 (fma.f64 -1/315 (pow.f64 kx 8) (*.f64 2/45 (pow.f64 kx 6)))))
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))
(fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))
(fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))
(fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))
(fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)
(-.f64 1/2 (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx)))))
(+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))
(fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)
(-.f64 1/2 (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx)))))
(+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))
(fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)
(-.f64 1/2 (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx)))))
(+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))
(fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)
(-.f64 1/2 (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx)))))
(+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))
(fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky)
(*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))))
(*.f64 ky (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (*.f64 (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (pow.f64 ky 3)))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) ky (*.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) -1/6)) (pow.f64 ky 3)))
(fma.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) -1/6)) (pow.f64 ky 3)))
(fma.f64 ky (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) (*.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) -1/6)) (pow.f64 ky 3)))
(+.f64 (*.f64 (+.f64 (*.f64 1/120 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2))) (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) 2)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))))) (pow.f64 ky 5)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (*.f64 (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (pow.f64 ky 3))))
(fma.f64 (fma.f64 1/120 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (fma.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (-.f64 (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (/.f64 1/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) 1/12))) (pow.f64 ky 5) (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) ky (*.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) -1/6)) (pow.f64 ky 3))))
(fma.f64 (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) 1/120 (fma.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (-.f64 (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (/.f64 1/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) 1/12))) (pow.f64 ky 5) (fma.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) -1/6)) (pow.f64 ky 3))))
(fma.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) -1/6)) (pow.f64 ky 3) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3))) 1/12 (fma.f64 (+.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) (+.f64 (/.f64 1/3 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 2)) (*.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) -1/4))) (*.f64 1/2 (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) 1/120))) (pow.f64 ky 5) (*.f64 ky (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/12 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2))) (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) 2)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 -1/5040 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 -1/240 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2))) (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) 2)) (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (+.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 4)) (*.f64 2/45 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2)))))) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))))) (pow.f64 ky 7)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 2))) (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) 2)) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))) (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))))) (pow.f64 ky 5)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (*.f64 (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))) 3)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (pow.f64 ky 3)))))
(fma.f64 (fma.f64 -1/12 (*.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (-.f64 (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (/.f64 1/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)))) 2))) (fma.f64 -1/5040 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (fma.f64 -1/240 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) (*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (fma.f64 -1/2 (/.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (/.f64 1/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)))) 2)) (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (+.f64 (/.f64 2/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 4)) (/.f64 2/45 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2)))))))))) (pow.f64 ky 7) (fma.f64 (fma.f64 1/120 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (fma.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (-.f64 (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (/.f64 1/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) 1/12))) (pow.f64 ky 5) (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) ky (*.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) -1/6)) (pow.f64 ky 3)))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (-.f64 (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (/.f64 1/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)))) 2))) -1/12 (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) -1/5040 (fma.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (fma.f64 -1/2 (/.f64 (-.f64 (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (/.f64 1/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)))) 2)) (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (+.f64 (/.f64 2/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 4)) (/.f64 2/45 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2)))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) -1/240)))) (pow.f64 ky 7) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) 1/120 (fma.f64 1/2 (*.f64 (sqrt.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))) (-.f64 (+.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)) (/.f64 1/3 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 2))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) 1/12))) (pow.f64 ky 5) (fma.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) (*.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))) 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx -2)))))) -1/6)) (pow.f64 ky 3)))))
(fma.f64 (+.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3))) -1/240)) (*.f64 (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)) (+.f64 (fma.f64 -1/2 (+.f64 (/.f64 2/3 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) (+.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 4)) (/.f64 2/45 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 2)))) (*.f64 (/.f64 (+.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) (+.f64 (/.f64 1/3 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 2)) (*.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) -1/4))) (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)) 1/4)) (*.f64 (+.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) (+.f64 (/.f64 1/3 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 2)) (*.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) -1/4))) -1/12)))) (pow.f64 ky 7) (fma.f64 (fma.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) -1/6)) (pow.f64 ky 3) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3))) 1/12 (fma.f64 (+.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) (+.f64 (/.f64 1/3 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 2)) (*.f64 (/.f64 1 (pow.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2) 3)) -1/4))) (*.f64 1/2 (sqrt.f64 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2))) 1/120))) (pow.f64 ky 5) (*.f64 ky (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) 1/2)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
1
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) 1)
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) 1)
(fma.f64 -1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 1 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) 1) (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2)))))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2))) 1))
(fma.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (*.f64 1/2 (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2))) (fma.f64 -1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4)))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 2/45 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (/.f64 1 (pow.f64 (sin.f64 ky) 6))) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2)) (pow.f64 (sin.f64 ky) 2))) (/.f64 1 (pow.f64 (sin.f64 ky) 8))))) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6)))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) 1) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2))) (*.f64 -1/2 (*.f64 (+.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 4)) (+.f64 (/.f64 2/3 (pow.f64 (sin.f64 ky) 6)) (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (pow.f64 (sin.f64 ky) 2)) (/.f64 1 (pow.f64 (sin.f64 ky) 8))))) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6))))))
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) 1) (fma.f64 -1/2 (*.f64 (+.f64 (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (pow.f64 (sin.f64 ky) 2)) (/.f64 1 (pow.f64 (sin.f64 ky) 8))) (+.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 4)) (/.f64 2/3 (pow.f64 (sin.f64 ky) 6)))) (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6))) (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (-.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (*.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2))))))
(+.f64 (fma.f64 -1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1) (*.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 kx 4) (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))))) (*.f64 (pow.f64 kx 6) (fma.f64 -1/2 (+.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 8)) (fma.f64 -1/2 (/.f64 (+.f64 (/.f64 1/3 (pow.f64 (sin.f64 ky) 4)) (-.f64 (/.f64 1 (pow.f64 (sin.f64 ky) 6)) (pow.f64 (/.f64 -1/2 (pow.f64 (sin.f64 ky) 3)) 2))) (pow.f64 (sin.f64 ky) 2)) (/.f64 2/3 (pow.f64 (sin.f64 ky) 6)))) (/.f64 -1/45 (pow.f64 (sin.f64 ky) 4)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (neg.f64 (*.f64 -2 kx))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (-.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 1/2 (+.f64 (pow.f64 (sin.f64 ky) 2) (*.f64 -1/2 (cos.f64 (*.f64 kx -2))))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 -1/2 (cos.f64 (*.f64 kx -2)) (+.f64 1/2 (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 (sin.f64 ky) 2) (fma.f64 1/2 (cos.f64 (*.f64 kx -2)) -1/2)))))

eval574.0ms (1.5%)

Compiler

Compiled 17571 to 8172 computations (53.5% saved)

prune343.0ms (0.9%)

Pruning

49 alts after pruning (44 fresh and 5 done)

PrunedKeptTotal
New73937776
Fresh9716
Picked011
Done145
Total74949798
Error
0b
Counts
798 → 49
Alt Table
Click to see full alt table
StatusErrorProgram
49.4b
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
47.6b
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
0.2b
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
32.4b
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
49.3b
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
0.3b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
0.3b
(*.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)) (sin.f64 th))
47.6b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
14.7b
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky)) (sin.f64 th))
48.0b
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
22.5b
(/.f64 (*.f64 (sin.f64 ky) (log.f64 (exp.f64 (sin.f64 th)))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
48.4b
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
48.4b
(log.f64 (exp.f64 (sin.f64 th)))
1.1b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.4b
(*.f64 (sin.f64 ky) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))
57.1b
(*.f64 (sin.f64 ky) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (sin.f64 ky)))
0.3b
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))
46.6b
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
0.3b
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
33.6b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
49.4b
(expm1.f64 (log1p.f64 (sin.f64 th)))
32.7b
(/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.3b
(/.f64 (sin.f64 th) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 1 (sin.f64 ky))))
49.4b
(log1p.f64 (expm1.f64 (sin.f64 th)))
33.2b
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
47.2b
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) (cbrt.f64 (sin.f64 th)))
58.5b
(*.f64 (sin.f64 ky) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky)))
57.5b
(exp.f64 (log.f64 (sin.f64 th)))
15.1b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 ky ky))))))) (sin.f64 th))
58.1b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
47.6b
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
56.4b
th
49.3b
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
49.3b
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
9.0b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
57.1b
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
0.4b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
46.6b
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (sin.f64 th))
49.5b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
43.7b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
49.6b
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
52.5b
(*.f64 (fma.f64 -1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1) (sin.f64 th))
57.4b
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
32.3b
(/.f64 th (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
49.4b
(sin.f64 th)
44.3b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))
56.6b
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
57.6b
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 th))) 3))
Compiler

Compiled 1184 to 867 computations (26.8% saved)

localize15.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
0.1b
(hypot.f64 (sin.f64 ky) (sin.f64 kx))
0.2b
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
Compiler

Compiled 36 to 9 computations (75% saved)

series9.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
2.0ms
ky
@0
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
1.0ms
kx
@0
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
1.0ms
ky
@inf
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
1.0ms
ky
@0
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
1.0ms
ky
@-inf
(/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))

rewrite98.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
525×log-prod_binary64
408×exp-prod_binary64
301×pow-prod-down_binary64
277×pow2_binary64
195×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01031
120331
2260031
Stop Event
node limit
Counts
2 → 82
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)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 1) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 2)) (cbrt.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))) (sqrt.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (*.f64 (cbrt.f64 (sin.f64 ky)) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) -2)) (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 ky)) (/.f64 1 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) 1) (/.f64 (sqrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) -2) (/.f64 (sin.f64 ky) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 2)) (/.f64 (sqrt.f64 (sin.f64 ky)) (cbrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) -1/2) (/.f64 (sin.f64 ky) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (cbrt.f64 (sin.f64 ky)) (sqrt.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2)) (cbrt.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))) (sqrt.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 ky))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) 1) 1))))))

simplify95.0ms (0.2%)

Algorithm
egg-herbie
Rules
915×fma-def_binary64
670×associate-*l*_binary64
402×times-frac_binary64
385×distribute-rgt-in_binary64
373×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01902853
16052823
222502658
Stop Event
node limit
Counts
142 → 123
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(/.f64 ky (sin.f64 kx))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))))) (/.f64 ky (sin.f64 kx)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))))) (+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 ky 5)) (/.f64 ky (sin.f64 kx))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 3))) (+.f64 (*.f64 1/5040 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2)))))) (pow.f64 ky 7))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))))) (+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 ky 5)) (/.f64 ky (sin.f64 kx)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
1
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4)) 1))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4)) (+.f64 1 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
Outputs
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (+.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 ky 3) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))))
(fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (+.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (/.f64 1/120 (/.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 5) (fma.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 ky 3) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))))
(fma.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3) (fma.f64 (-.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) 1/120)) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6)))) (pow.f64 ky 5) (*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) -1/5040) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) 1/120) (fma.f64 1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))))))) (pow.f64 ky 7) (*.f64 (+.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 -1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(+.f64 (fma.f64 (-.f64 (/.f64 -1/5040 (/.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/120 (/.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 kx) 3) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))))) (*.f64 -1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))))) (pow.f64 ky 7) (*.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 ky 3))) (fma.f64 (-.f64 (/.f64 1/120 (/.f64 (sin.f64 kx) (sin.f64 th))) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 ky 5) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))))
(fma.f64 (-.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) 1/120)) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6)))) (pow.f64 ky 5) (fma.f64 (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) -1/5040 (-.f64 (*.f64 -1/2 (/.f64 (-.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) 1/120)) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6)))) (pow.f64 (sin.f64 kx) 2))) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (-.f64 2/45 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (/.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6))))) (pow.f64 ky 7) (fma.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky (*.f64 (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 kx 4)) (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 kx 4)))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (sin.f64 th)) (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 kx 4)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(fma.f64 -1 (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 kx 4)) (+.f64 (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (neg.f64 (*.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)))))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))))) (*.f64 1/4 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 4) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))))))) (pow.f64 kx 6)))))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (*.f64 kx kx)) (pow.f64 (sin.f64 ky) 2)) (fma.f64 (neg.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 2/45 (/.f64 (*.f64 1/2 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (pow.f64 (sin.f64 ky) 2)))) (*.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))))))) (pow.f64 kx 6) (sin.f64 th))) (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 kx 4)))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (-.f64 (fma.f64 (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 2)) (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 4))) (sin.f64 th)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (fma.f64 1/4 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/12)))) (neg.f64 (pow.f64 kx 6)) (sin.f64 th)) (*.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6))) (pow.f64 kx 4))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 3) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))))
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))) (+.f64 th (*.f64 (pow.f64 th 3) -1/6)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky)))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 3) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (*.f64 (sin.f64 ky) (*.f64 th (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 3) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))) (+.f64 th (*.f64 (pow.f64 th 5) 1/120))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky))))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 3) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))) (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 th (sin.f64 ky)) (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))))))
(+.f64 (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))) (+.f64 th (*.f64 (pow.f64 th 7) -1/5040))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2))))) (+.f64 (*.f64 (pow.f64 th 3) -1/6) (*.f64 (pow.f64 th 5) 1/120))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(/.f64 ky (sin.f64 kx))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))))) (/.f64 ky (sin.f64 kx)))
(fma.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx)))) (/.f64 ky (sin.f64 kx)))
(-.f64 (/.f64 ky (sin.f64 kx)) (*.f64 (pow.f64 ky 3) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))))) (+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 ky 5)) (/.f64 ky (sin.f64 kx))))
(fma.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx)))) (fma.f64 (-.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 -1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 ky 5) (/.f64 ky (sin.f64 kx))))
(-.f64 (fma.f64 (pow.f64 ky 5) (+.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (/.f64 ky (sin.f64 kx))) (*.f64 (pow.f64 ky 3) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx)))))
(-.f64 (fma.f64 (pow.f64 ky 5) (-.f64 (-.f64 (/.f64 1/120 (sin.f64 kx)) (/.f64 (+.f64 (/.f64 -1/4 (pow.f64 (sin.f64 kx) 3)) (/.f64 -1/12 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))) (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 3))) (/.f64 ky (sin.f64 kx))) (*.f64 (pow.f64 ky 3) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 3))) (+.f64 (*.f64 1/5040 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2)))))) (pow.f64 ky 7))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))))) (+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 ky 5)) (/.f64 ky (sin.f64 kx)))))
(fma.f64 -1 (*.f64 (pow.f64 ky 7) (fma.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 3)) (+.f64 (/.f64 1/5040 (sin.f64 kx)) (*.f64 1/2 (+.f64 (/.f64 (-.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 -1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))))) (fma.f64 -1 (*.f64 (pow.f64 ky 3) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx)))) (fma.f64 (-.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 -1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 ky 5) (/.f64 ky (sin.f64 kx)))))
(-.f64 (-.f64 (fma.f64 (pow.f64 ky 5) (+.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (/.f64 ky (sin.f64 kx))) (*.f64 (pow.f64 ky 3) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))))) (*.f64 (pow.f64 ky 7) (fma.f64 1/2 (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 3)) (fma.f64 1/2 (+.f64 (/.f64 (+.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (/.f64 1/5040 (sin.f64 kx))))))
(-.f64 (fma.f64 (pow.f64 ky 5) (-.f64 (-.f64 (/.f64 1/120 (sin.f64 kx)) (/.f64 (+.f64 (/.f64 -1/4 (pow.f64 (sin.f64 kx) 3)) (/.f64 -1/12 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))) (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 3))) (/.f64 ky (sin.f64 kx))) (fma.f64 (pow.f64 ky 7) (fma.f64 1/2 (/.f64 (-.f64 2/45 (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 2))) (pow.f64 (sin.f64 kx) 3)) (fma.f64 1/2 (fma.f64 (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (-.f64 (-.f64 (/.f64 1/120 (sin.f64 kx)) (/.f64 (+.f64 (/.f64 -1/4 (pow.f64 (sin.f64 kx) 3)) (/.f64 -1/12 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))) (/.f64 (fma.f64 -1/2 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2) -1/6) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2))) (/.f64 1/5040 (sin.f64 kx)))) (*.f64 (pow.f64 ky 3) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
1
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) 1)
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) 1)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4)) 1))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (fma.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4) 1))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (fma.f64 (pow.f64 kx 4) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (/.f64 (*.f64 1/2 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (pow.f64 (sin.f64 ky) 2))) 1))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (fma.f64 (pow.f64 kx 4) (-.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 2))) 1))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4)) (+.f64 1 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (+.f64 (fma.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4) 1) (neg.f64 (*.f64 (pow.f64 kx 6) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (*.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2)) (*.f64 1/4 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 4)))))))))
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (-.f64 (fma.f64 (pow.f64 kx 4) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (/.f64 (*.f64 1/2 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))) (pow.f64 (sin.f64 ky) 2))) 1) (*.f64 (pow.f64 kx 6) (fma.f64 1/2 (-.f64 (/.f64 1/4 (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 ky) 4))) (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 ky) 4) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))))) (fma.f64 1/2 (-.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 2)) (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 ky) 4) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2))))) (*.f64 1/4 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2)) (pow.f64 (sin.f64 ky) 4))))))))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (fma.f64 (pow.f64 kx 4) (-.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 2))) 1)) (*.f64 (pow.f64 kx 6) (fma.f64 1/2 (+.f64 (-.f64 (/.f64 1/4 (pow.f64 (pow.f64 (sin.f64 ky) 2) 3)) (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 4))) (-.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 2)) (/.f64 (fma.f64 -1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) -1/6) (pow.f64 (sin.f64 ky) 4)))) (/.f64 (fma.f64 1/4 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/12) (pow.f64 (sin.f64 ky) 4)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (fma.f64 (sin.f64 ky) (sin.f64 ky) (pow.f64 (sin.f64 kx) 2)))))

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
0.1b
(*.f64 -1/6 (pow.f64 th 3))
Compiler

Compiled 21 to 16 computations (23.8% saved)

series3.0ms (0%)

Counts
2 → 3
Calls

6 calls:

TimeVariablePointExpression
1.0ms
th
@0
(*.f64 -1/6 (pow.f64 th 3))
1.0ms
th
@inf
(*.f64 -1/6 (pow.f64 th 3))
1.0ms
th
@inf
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
1.0ms
th
@-inf
(*.f64 -1/6 (pow.f64 th 3))
0.0ms
th
@0
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)

rewrite63.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
744×pow1_binary64
702×add-log-exp_binary64
702×log1p-expm1-u_binary64
702×expm1-log1p-u_binary64
688×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
115915
2191315
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 th 3))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 th 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 th 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 th 3) 3) -1/216) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 th 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 th 3) 3) -1/216))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 th 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/6 (pow.f64 th 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 -1/6 (pow.f64 th 3) th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 th 6) 1/36) (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)) (/.f64 (*.f64 th th) (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/6 (pow.f64 th 3) th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -1/6 (pow.f64 th 3) th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 th 3) th)) (pow.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 th 3) th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 th 3) th)) 2) (cbrt.f64 (fma.f64 -1/6 (pow.f64 th 3) th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 th 3) th)) (sqrt.f64 (fma.f64 -1/6 (pow.f64 th 3) th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 th 3) (*.f64 (pow.f64 (pow.f64 th 3) 3) -1/216)) (/.f64 1 (+.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th (-.f64 th (*.f64 -1/6 (pow.f64 th 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th (-.f64 th (*.f64 -1/6 (pow.f64 th 3))))) (+.f64 (pow.f64 th 3) (*.f64 (pow.f64 (pow.f64 th 3) 3) -1/216))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 th 3) (*.f64 (pow.f64 (pow.f64 th 3) 3) -1/216)) (+.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th (-.f64 th (*.f64 -1/6 (pow.f64 th 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 th 3) (*.f64 (pow.f64 (pow.f64 th 3) 3) -1/216)) (+.f64 (*.f64 th th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 -1/6 (*.f64 (pow.f64 th 3) th)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 th 3) (*.f64 (pow.f64 (pow.f64 th 3) 3) -1/216))) (neg.f64 (+.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th (-.f64 th (*.f64 -1/6 (pow.f64 th 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))) (neg.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 th th) (*.f64 (pow.f64 th 6) 1/36)) (-.f64 th (*.f64 -1/6 (pow.f64 th 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -1/6 (pow.f64 th 3) th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 th 3) th) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 th 3) th)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 th 3) th)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 th 3) th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -1/6 (pow.f64 th 3) th)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 th 3) th) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -1/6 (pow.f64 th 3) th)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -1/6 (pow.f64 th 3) th)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -1/6 (pow.f64 th 3) th)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/6 (pow.f64 th 3) th)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 th 3) -1/6 th)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 th (*.f64 -1/6 (pow.f64 th 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/6 (pow.f64 th 3)) th)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 2) (*.f64 th (cbrt.f64 -1/6)) th)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 th) 2) (cbrt.f64 th) (*.f64 -1/6 (pow.f64 th 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 th 3/2)) (*.f64 (sqrt.f64 -1/6) (pow.f64 th 3/2)) th)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 th) (sqrt.f64 th) (*.f64 -1/6 (pow.f64 th 3)))))))

simplify154.0ms (0.4%)

Algorithm
egg-herbie
Rules
1274×sqr-pow_binary64
666×pow-sqr_binary64
529×cube-prod_binary64
471×fabs-mul_binary64
438×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
11515
23215
35615
411415
532615
6118015
7186915
8195615
9208915
10224715
11248615
12280815
13323115
14373315
15433515
16505715
17537815
18566415
19588615
20606415
21614415
22708415
Stop Event
node limit
Counts
49 → 48
Calls
Call 1
Inputs
th
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 -1/6 (pow.f64 th 3))
Outputs
th
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 -1/6 (pow.f64 th 3))

localize8.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
0.1b
(expm1.f64 (sin.f64 th))
0.2b
(log1p.f64 (expm1.f64 (sin.f64 th)))
Compiler

Compiled 13 to 6 computations (53.8% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
th
@0
(expm1.f64 (sin.f64 th))
0.0ms
th
@0
(log1p.f64 (expm1.f64 (sin.f64 th)))
0.0ms
th
@inf
(expm1.f64 (sin.f64 th))
0.0ms
th
@-inf
(expm1.f64 (sin.f64 th))
0.0ms
th
@-inf
(log1p.f64 (expm1.f64 (sin.f64 th)))

rewrite81.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
353×pow1_binary64
340×add-sqr-sqrt_binary64
334×*-un-lft-identity_binary64
326×expm1-log1p-u_binary64
325×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
1808
28838
Stop Event
node limit
Counts
2 → 85
Calls
Call 1
Inputs
(log1p.f64 (expm1.f64 (sin.f64 th)))
(expm1.f64 (sin.f64 th))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 th))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 th)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 2) (expm1.f64 (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 (sin.f64 th)) 2))) (log.f64 (-.f64 1 (expm1.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (+.f64 1 th)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 1 th)) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 th)) (pow.f64 (cbrt.f64 (sin.f64 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (cbrt.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 th)) (sqrt.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 th) 1/4) (sqrt.f64 (pow.f64 (sin.f64 th) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 5/2)) (pow.f64 (sin.f64 th) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 th) (cbrt.f64 (sin.f64 th))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (sin.f64 th) 3/2)) (pow.f64 (sin.f64 th) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 5)) (pow.f64 (sin.f64 th) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 th) (cbrt.f64 (sin.f64 th))) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 th) 5/2) 1/3) (pow.f64 (sin.f64 th) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 th th)) (cos.f64 (+.f64 th th)))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (sin.f64 th)) 3) 1) (+.f64 (*.f64 (+.f64 1 (sin.f64 th)) (+.f64 1 (sin.f64 th))) (+.f64 1 (*.f64 (+.f64 1 (sin.f64 th)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 th) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 th) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 th)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 th)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 th)))) (sqrt.f64 (log.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 th)) 2))) (cbrt.f64 (log.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sin.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 th) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 th)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 th))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 th))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (sin.f64 th)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (expm1.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (sin.f64 th))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (expm1.f64 (sin.f64 th)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (sin.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (exp.f64 (sin.f64 th)) 3) (+.f64 (pow.f64 (exp.f64 (sin.f64 th)) 2) (+.f64 1 (*.f64 (exp.f64 (sin.f64 th)) 1)))) (/.f64 1 (+.f64 (pow.f64 (exp.f64 (sin.f64 th)) 2) (+.f64 1 (*.f64 (exp.f64 (sin.f64 th)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (exp.f64 (sin.f64 th)) 2) (+.f64 (exp.f64 (sin.f64 th)) 1)) (/.f64 1 (+.f64 (exp.f64 (sin.f64 th)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (sin.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 2) (cbrt.f64 (expm1.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (sin.f64 th))) (sqrt.f64 (expm1.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 1/4) (sqrt.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (expm1.f64 (sin.f64 th)) (cbrt.f64 (expm1.f64 (sin.f64 th)))) 2)) (cbrt.f64 (cbrt.f64 (expm1.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 5/2)) (pow.f64 (expm1.f64 (sin.f64 th)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 5)) (pow.f64 (expm1.f64 (sin.f64 th)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 3/2)) (pow.f64 (expm1.f64 (sin.f64 th)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (expm1.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (expm1.f64 (sin.f64 th)) (cbrt.f64 (expm1.f64 (sin.f64 th)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (expm1.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 5/2) 1/3) (pow.f64 (expm1.f64 (sin.f64 th)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 th)) 3) 1) (+.f64 (pow.f64 (exp.f64 (sin.f64 th)) 2) (+.f64 1 (*.f64 (exp.f64 (sin.f64 th)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 th)) 2) 1) (+.f64 (exp.f64 (sin.f64 th)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 th)) 3) 1)) (neg.f64 (+.f64 (pow.f64 (exp.f64 (sin.f64 th)) 2) (+.f64 1 (*.f64 (exp.f64 (sin.f64 th)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 th)) 2) 1)) (neg.f64 (+.f64 (exp.f64 (sin.f64 th)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 (sin.f64 th)) 3) -1) (+.f64 (pow.f64 (exp.f64 (sin.f64 th)) 2) (-.f64 1 (*.f64 (exp.f64 (sin.f64 th)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (sin.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (sin.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (expm1.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (expm1.f64 (sin.f64 th))) 2))) (cbrt.f64 (log.f64 (expm1.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (expm1.f64 (sin.f64 th))))) (sqrt.f64 (log.f64 (expm1.f64 (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (expm1.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (sin.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (expm1.f64 (sin.f64 th)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (expm1.f64 (sin.f64 th)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (expm1.f64 (sin.f64 th)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 (sin.f64 th)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 th))) 2) (cbrt.f64 (exp.f64 (sin.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 (sin.f64 th))) (sqrt.f64 (exp.f64 (sin.f64 th))) -1)))))

simplify176.0ms (0.5%)

Algorithm
egg-herbie
Rules
1346×fma-def_binary64
714×sqr-pow_binary64
543×cube-prod_binary64
371×*-commutative_binary64
324×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037156
198156
2217156
3587156
41520156
53011156
63235156
73442156
83673156
93953156
104354156
115215156
125779156
136493156
146815156
157205156
167513156
177821156
Stop Event
node limit
Counts
109 → 99
Calls
Call 1
Inputs
th
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
th
(+.f64 (*.f64 1/2 (pow.f64 th 2)) th)
(+.f64 (*.f64 1/2 (pow.f64 th 2)) (+.f64 (*.f64 -1/8 (pow.f64 th 4)) th))
(+.f64 (*.f64 -1/15 (pow.f64 th 5)) (+.f64 (*.f64 1/2 (pow.f64 th 2)) (+.f64 (*.f64 -1/8 (pow.f64 th 4)) th)))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(-.f64 (exp.f64 (sin.f64 th)) 1)
(-.f64 (exp.f64 (sin.f64 th)) 1)
(-.f64 (exp.f64 (sin.f64 th)) 1)
(-.f64 (exp.f64 (sin.f64 th)) 1)
(-.f64 (exp.f64 (sin.f64 th)) 1)
(-.f64 (exp.f64 (sin.f64 th)) 1)
(-.f64 (exp.f64 (sin.f64 th)) 1)
Outputs
th
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(fma.f64 -1/6 (pow.f64 th 3) th)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 1/120 (pow.f64 th 5) th))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 -1/5040 (pow.f64 th 7) (fma.f64 1/120 (pow.f64 th 5) th)))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 1/120 (pow.f64 th 5) (fma.f64 -1/5040 (pow.f64 th 7) th)))
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
th
(+.f64 (*.f64 1/2 (pow.f64 th 2)) th)
(fma.f64 1/2 (*.f64 th th) th)
(fma.f64 th (*.f64 th 1/2) th)
(+.f64 (*.f64 1/2 (pow.f64 th 2)) (+.f64 (*.f64 -1/8 (pow.f64 th 4)) th))
(fma.f64 1/2 (*.f64 th th) (fma.f64 -1/8 (pow.f64 th 4) th))
(fma.f64 th (*.f64 th 1/2) (fma.f64 -1/8 (pow.f64 th 4) th))
(*.f64 th (fma.f64 (pow.f64 th 3) -1/8 (fma.f64 th 1/2 1)))
(*.f64 th (fma.f64 th 1/2 (fma.f64 (pow.f64 th 3) -1/8 1)))
(*.f64 th (fma.f64 th (fma.f64 th (*.f64 th -1/8) 1/2) 1))
(+.f64 (*.f64 -1/15 (pow.f64 th 5)) (+.f64 (*.f64 1/2 (pow.f64 th 2)) (+.f64 (*.f64 -1/8 (pow.f64 th 4)) th)))
(fma.f64 -1/15 (pow.f64 th 5) (fma.f64 1/2 (*.f64 th th) (fma.f64 -1/8 (pow.f64 th 4) th)))
(fma.f64 (pow.f64 th 5) -1/15 (fma.f64 1/2 (*.f64 th th) (fma.f64 -1/8 (pow.f64 th 4) th)))
(fma.f64 th (*.f64 th 1/2) (fma.f64 (pow.f64 th 5) -1/15 (fma.f64 -1/8 (pow.f64 th 4) th)))
(fma.f64 th (*.f64 th 1/2) (fma.f64 -1/8 (pow.f64 th 4) (fma.f64 (pow.f64 th 5) -1/15 th)))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(expm1.f64 (sin.f64 th))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(expm1.f64 (sin.f64 th))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(expm1.f64 (sin.f64 th))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(expm1.f64 (sin.f64 th))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(expm1.f64 (sin.f64 th))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(expm1.f64 (sin.f64 th))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(expm1.f64 (sin.f64 th))
(-.f64 (exp.f64 (sin.f64 th)) 1)
(expm1.f64 (sin.f64 th))

localize15.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
0.1b
(/.f64 1 (sin.f64 ky))
0.3b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
0.3b
(*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th))
Compiler

Compiled 31 to 15 computations (51.6% saved)

series37.0ms (0.1%)

Counts
3 → 52
Calls

15 calls:

TimeVariablePointExpression
32.0ms
th
@-inf
(*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th))
1.0ms
ky
@-inf
(/.f64 1 (sin.f64 ky))
1.0ms
ky
@inf
(/.f64 1 (sin.f64 ky))
0.0ms
ky
@0
(*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th))
0.0ms
ky
@0
(/.f64 1 (sin.f64 ky))

rewrite59.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
757×pow1_binary64
696×add-log-exp_binary64
696×log1p-expm1-u_binary64
696×expm1-log1p-u_binary64
680×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0927
117817
2218517
Stop Event
node limit
Counts
3 → 60
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
(/.f64 1 (sin.f64 ky))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (sin.f64 th) (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sin.f64 ky) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 th) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (/.f64 (sin.f64 ky) (cbrt.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (sqrt.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 th)) (neg.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 th) (sqrt.f64 (sin.f64 ky))) (sqrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 th) 1) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 th) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (cbrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (sin.f64 th)) (neg.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 th) -1) (neg.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 th) (sin.f64 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (sin.f64 ky) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (sin.f64 ky)) 3) (pow.f64 (sin.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 1 (sin.f64 ky)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 th) (sin.f64 ky))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 th) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 th)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 th)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 th) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 th) (sin.f64 ky)) 3) (pow.f64 (sin.f64 ky) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 th)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 th)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (sin.f64 ky))) (cbrt.f64 (pow.f64 (sin.f64 ky) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 ky) -2)) (cbrt.f64 (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 ky) -1/2) (pow.f64 (sin.f64 ky) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) -1) (pow.f64 (cbrt.f64 (sin.f64 ky)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 ky)) -1) (pow.f64 (sqrt.f64 (sin.f64 ky)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 ky) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1 (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 ky) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 ky) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (sin.f64 ky))))))))

simplify58.0ms (0.1%)

Algorithm
egg-herbie
Rules
531×cancel-sign-sub-inv_binary64
471×fma-neg_binary64
468×sub-neg_binary64
424×fma-def_binary64
370×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
073486
1210477
2608468
32269460
47282460
Stop Event
node limit
Counts
112 → 88
Calls
Call 1
Inputs
(/.f64 (sin.f64 th) ky)
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (+.f64 (/.f64 (sin.f64 th) ky) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 3)))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (+.f64 (/.f64 (sin.f64 th) ky) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 3))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th)))) (+.f64 (*.f64 -1/5040 (sin.f64 th)) (*.f64 1/720 (sin.f64 th)))) (pow.f64 ky 5))))))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 th (sin.f64 ky))
(+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky)))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky))))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky))) (+.f64 (*.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky)))))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
th
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(/.f64 1 ky)
(+.f64 (*.f64 1/6 ky) (/.f64 1 ky))
(+.f64 (*.f64 1/6 ky) (+.f64 (*.f64 7/360 (pow.f64 ky 3)) (/.f64 1 ky)))
(+.f64 (*.f64 1/6 ky) (+.f64 (*.f64 31/15120 (pow.f64 ky 5)) (+.f64 (*.f64 7/360 (pow.f64 ky 3)) (/.f64 1 ky))))
Outputs
(/.f64 (sin.f64 th) ky)
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 (sin.f64 th) (*.f64 ky 1/6) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (+.f64 (/.f64 (sin.f64 th) ky) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 3)))))
(+.f64 (fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky)) (neg.f64 (*.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 3))))
(-.f64 (fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky)) (*.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 3)))
(fma.f64 (sin.f64 th) (*.f64 ky 1/6) (fma.f64 (pow.f64 ky 3) (*.f64 (sin.f64 th) 7/360) (/.f64 (sin.f64 th) ky)))
(+.f64 (/.f64 (sin.f64 th) ky) (*.f64 (sin.f64 th) (fma.f64 (pow.f64 ky 3) 7/360 (*.f64 ky 1/6))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (+.f64 (/.f64 (sin.f64 th) ky) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 3))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th)))) (+.f64 (*.f64 -1/5040 (sin.f64 th)) (*.f64 1/720 (sin.f64 th)))) (pow.f64 ky 5))))))
(+.f64 (fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky)) (*.f64 -1 (+.f64 (*.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 3)) (*.f64 (fma.f64 1/6 (*.f64 (sin.f64 th) -7/360) (*.f64 (sin.f64 th) 1/840)) (pow.f64 ky 5)))))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (fma.f64 -1 (fma.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 3) (*.f64 (fma.f64 (sin.f64 th) 1/840 (*.f64 (sin.f64 th) -7/2160)) (pow.f64 ky 5))) (/.f64 (sin.f64 th) ky)))
(-.f64 (fma.f64 (sin.f64 th) (*.f64 ky 1/6) (/.f64 (sin.f64 th) ky)) (fma.f64 (*.f64 (sin.f64 th) -31/15120) (pow.f64 ky 5) (*.f64 (sin.f64 th) (*.f64 (pow.f64 ky 3) -7/360))))
(+.f64 (*.f64 (sin.f64 th) (fma.f64 (pow.f64 ky 3) 7/360 (*.f64 ky 1/6))) (fma.f64 (pow.f64 ky 5) (*.f64 (sin.f64 th) 31/15120) (/.f64 (sin.f64 th) ky)))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 th (sin.f64 ky))
(+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky)))
(fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (/.f64 th (sin.f64 ky)))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky))))
(fma.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky)) (fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (/.f64 th (sin.f64 ky))))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky))) (+.f64 (*.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky))) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky))) (/.f64 th (sin.f64 ky)))))
(fma.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky)) (fma.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky)) (fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (/.f64 th (sin.f64 ky)))))
(fma.f64 1/120 (/.f64 (pow.f64 th 5) (sin.f64 ky)) (fma.f64 -1/6 (/.f64 (pow.f64 th 3) (sin.f64 ky)) (fma.f64 -1/5040 (/.f64 (pow.f64 th 7) (sin.f64 ky)) (/.f64 th (sin.f64 ky)))))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 (sin.f64 th) (sin.f64 ky))
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
th
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(fma.f64 -1/6 (pow.f64 th 3) th)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 1/120 (pow.f64 th 5) th))
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) th)))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 -1/5040 (pow.f64 th 7) (fma.f64 1/120 (pow.f64 th 5) th)))
(fma.f64 -1/5040 (pow.f64 th 7) (fma.f64 -1/6 (pow.f64 th 3) (fma.f64 1/120 (pow.f64 th 5) th)))
(fma.f64 -1/6 (pow.f64 th 3) (fma.f64 1/120 (pow.f64 th 5) (fma.f64 -1/5040 (pow.f64 th 7) th)))
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(sin.f64 th)
(/.f64 1 ky)
(+.f64 (*.f64 1/6 ky) (/.f64 1 ky))
(fma.f64 1/6 ky (/.f64 1 ky))
(fma.f64 ky 1/6 (/.f64 1 ky))
(+.f64 (*.f64 1/6 ky) (+.f64 (*.f64 7/360 (pow.f64 ky 3)) (/.f64 1 ky)))
(fma.f64 1/6 ky (fma.f64 7/360 (pow.f64 ky 3) (/.f64 1 ky)))
(fma.f64 ky 1/6 (fma.f64 (pow.f64 ky 3) 7/360 (/.f64 1 ky)))
(fma.f64 (pow.f64 ky 3) 7/360 (fma.f64 ky 1/6 (/.f64 1 ky)))
(+.f64 (*.f64 1/6 ky) (+.f64 (*.f64 31/15120 (pow.f64 ky 5)) (+.f64 (*.f64 7/360 (pow.f64 ky 3)) (/.f64 1 ky))))
(fma.f64 1/6 ky (fma.f64 31/15120 (pow.f64 ky 5) (fma.f64 7/360 (pow.f64 ky 3) (/.f64 1 ky))))
(fma.f64 ky 1/6 (fma.f64 (pow.f64 ky 5) 31/15120 (fma.f64 (pow.f64 ky 3) 7/360 (/.f64 1 ky))))
(fma.f64 (pow.f64 ky 5) 31/15120 (fma.f64 (pow.f64 ky 3) 7/360 (fma.f64 ky 1/6 (/.f64 1 ky))))
(fma.f64 ky 1/6 (fma.f64 (pow.f64 ky 3) 7/360 (fma.f64 (pow.f64 ky 5) 31/15120 (/.f64 1 ky))))

localize37.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
1.9b
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
Compiler

Compiled 69 to 51 computations (26.1% saved)

series17.0ms (0%)

Counts
4 → 68
Calls

21 calls:

TimeVariablePointExpression
3.0ms
kx
@inf
(/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))
1.0ms
th
@inf
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
1.0ms
kx
@inf
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
1.0ms
th
@0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
1.0ms
ky
@0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))

rewrite88.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
779×log-prod_binary64
429×prod-diff_binary64
289×expm1-udef_binary64
289×log1p-udef_binary64
245×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01569
132445
2417345
Stop Event
node limit
Counts
4 → 147
Calls
Call 1
Inputs
(-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))
(sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) 2) (cbrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4) (*.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 kx) (sin.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 kx) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8)) (/.f64 1 (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4)) (/.f64 1 (pow.f64 (cos.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4)) (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (cbrt.f64 (pow.f64 (sin.f64 kx) 2))) (cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4) (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (cos.f64 kx) 2) (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8)) (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4)) (pow.f64 (cos.f64 kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8))) (neg.f64 (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4))) (neg.f64 (pow.f64 (cos.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1/8 (pow.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) 3)) (+.f64 1/4 (-.f64 (*.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) (*.f64 1/2 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/4 (*.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) (*.f64 (cos.f64 (+.f64 kx kx)) -1/2))) (-.f64 1/2 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 kx) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 kx) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (sin.f64 kx))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 kx))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (neg.f64 (cos.f64 (+.f64 kx kx))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 kx kx)) -1/2 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) 2) (neg.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (neg.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (cos.f64 (+.f64 kx kx)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) (cbrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2))) (cbrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) (sqrt.f64 (*.f64 (cos.f64 (+.f64 kx kx)) -1/2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cos.f64 (+.f64 kx kx))) 1/2 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) 2)) (cbrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))))) (sqrt.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 kx kx))) 2)) (cbrt.f64 (cos.f64 (+.f64 kx kx))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (sqrt.f64 (cos.f64 (+.f64 kx kx)))) (sqrt.f64 (cos.f64 (+.f64 kx kx))) 1/2)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 th) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (neg.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 1) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (cbrt.f64 (pow.f64 (sin.f64 kx) 2))) (cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4)) (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))) (neg.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) 3) (pow.f64 (sin.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 th)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))) (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (pow.f64 (pow.f64 (sin.f64 kx) 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))) (cbrt.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (cbrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (*.f64 (cbrt.f64 (sin.f64 ky)) (pow.f64 (pow.f64 (sin.f64 kx) 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))) (sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (pow.f64 (sin.f64 kx) 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 ky)) (/.f64 1 (neg.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) -1/2) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 ky)) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) 1) (/.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (sin.f64 kx) 2))) (/.f64 (sin.f64 ky) (cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (cbrt.f64 (pow.f64 (sin.f64 kx) 2))) (cbrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (cbrt.f64 (pow.f64 (sin.f64 kx) 2))) (/.f64 (sqrt.f64 (sin.f64 ky)) (cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4)) (/.f64 (sin.f64 ky) (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4)) (/.f64 (cbrt.f64 (sin.f64 ky)) (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) (sin.f64 ky)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (pow.f64 (sin.f64 kx) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) (cbrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) (cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4) (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) 2) 1/2) (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 kx) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 1/4 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2) 1/4))) (sqrt.f64 (pow.f64 (cos.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 1/8 (*.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 3) 1/8))) (sqrt.f64 (fma.f64 (*.f64 1/2 (cos.f64 (+.f64 kx kx))) (pow.f64 (cos.f64 kx) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 kx) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (pow.f64 (sin.f64 kx) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 kx))) 1/2))))))

simplify121.0ms (0.3%)

Algorithm
egg-herbie
Rules
948×fma-def_binary64
654×distribute-lft-out_binary64
507×associate-*l*_binary64
474×associate-*r*_binary64
423×unswap-sqr_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01332148
13882008
211171696
339711629
456451629
574691577
Stop Event
node limit
Counts
215 → 206
Calls
Call 1
Inputs
(pow.f64 kx 2)
(+.f64 (pow.f64 kx 2) (*.f64 -1/3 (pow.f64 kx 4)))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (*.f64 2/45 (pow.f64 kx 6))))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (+.f64 (*.f64 2/45 (pow.f64 kx 6)) (*.f64 -1/315 (pow.f64 kx 8)))))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 -1/5040 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 7)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (*.f64 7/360 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))))
(+.f64 (*.f64 31/15120 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 5)))) (+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (*.f64 7/360 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (*.f64 (sin.f64 ky) th)))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (*.f64 (sin.f64 ky) th))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (*.f64 (sin.f64 ky) th)) (*.f64 -1/5040 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 7)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky)
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 3))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 3))) (+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 5))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky)))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 3))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 7))) (+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 5))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(/.f64 (sin.f64 ky) kx)
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (/.f64 (sin.f64 ky) kx))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (+.f64 (*.f64 7/360 (*.f64 (sin.f64 ky) (pow.f64 kx 3))) (/.f64 (sin.f64 ky) kx)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (+.f64 (*.f64 31/15120 (*.f64 (sin.f64 ky) (pow.f64 kx 5))) (+.f64 (*.f64 7/360 (*.f64 (sin.f64 ky) (pow.f64 kx 3))) (/.f64 (sin.f64 ky) kx))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
kx
(+.f64 (*.f64 -1/6 (pow.f64 kx 3)) kx)
(+.f64 (*.f64 1/120 (pow.f64 kx 5)) (+.f64 (*.f64 -1/6 (pow.f64 kx 3)) kx))
(+.f64 (*.f64 1/120 (pow.f64 kx 5)) (+.f64 (*.f64 -1/6 (pow.f64 kx 3)) (+.f64 (*.f64 -1/5040 (pow.f64 kx 7)) kx)))
Outputs
(pow.f64 kx 2)
(*.f64 kx kx)
(+.f64 (pow.f64 kx 2) (*.f64 -1/3 (pow.f64 kx 4)))
(+.f64 (*.f64 kx kx) (*.f64 -1/3 (pow.f64 kx 4)))
(fma.f64 kx kx (*.f64 -1/3 (pow.f64 kx 4)))
(fma.f64 -1/3 (pow.f64 kx 4) (*.f64 kx kx))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (*.f64 2/45 (pow.f64 kx 6))))
(+.f64 (*.f64 kx kx) (fma.f64 -1/3 (pow.f64 kx 4) (*.f64 2/45 (pow.f64 kx 6))))
(fma.f64 kx kx (fma.f64 -1/3 (pow.f64 kx 4) (*.f64 2/45 (pow.f64 kx 6))))
(fma.f64 -1/3 (pow.f64 kx 4) (fma.f64 kx kx (*.f64 2/45 (pow.f64 kx 6))))
(+.f64 (pow.f64 kx 2) (+.f64 (*.f64 -1/3 (pow.f64 kx 4)) (+.f64 (*.f64 2/45 (pow.f64 kx 6)) (*.f64 -1/315 (pow.f64 kx 8)))))
(+.f64 (*.f64 kx kx) (fma.f64 -1/3 (pow.f64 kx 4) (fma.f64 2/45 (pow.f64 kx 6) (*.f64 -1/315 (pow.f64 kx 8)))))
(fma.f64 kx kx (fma.f64 -1/3 (pow.f64 kx 4) (fma.f64 2/45 (pow.f64 kx 6) (*.f64 -1/315 (pow.f64 kx 8)))))
(fma.f64 kx kx (fma.f64 2/45 (pow.f64 kx 6) (fma.f64 -1/3 (pow.f64 kx 4) (*.f64 -1/315 (pow.f64 kx 8)))))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sin.f64 th) (*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2))))))))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))))
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2)))))
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))))
(fma.f64 -1/6 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 3))) (*.f64 (sin.f64 th) (*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))))
(fma.f64 -1/6 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 3))) (fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (pow.f64 ky 5))) (*.f64 (sin.f64 th) (*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2))))))))))
(fma.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (+.f64 (*.f64 (sin.f64 th) ky) (*.f64 (*.f64 1/120 (sin.f64 th)) (pow.f64 ky 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 (sin.f64 th) (*.f64 -1/6 (pow.f64 ky 3))) (*.f64 (sin.f64 th) (+.f64 (*.f64 1/120 (pow.f64 ky 5)) ky))))
(*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (+.f64 ky (*.f64 1/120 (pow.f64 ky 5))) (*.f64 -1/6 (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5))))))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 -1/5040 (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 7)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx))))))))))
(fma.f64 -1/6 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 3))) (fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (pow.f64 ky 5))) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (pow.f64 ky 7))) (*.f64 (sin.f64 th) (*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (+.f64 (*.f64 (sin.f64 th) ky) (*.f64 (*.f64 -1/5040 (sin.f64 th)) (pow.f64 ky 7)))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (*.f64 1/120 (sin.f64 th)) (pow.f64 ky 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/5040 (pow.f64 ky 7)))) (*.f64 (sin.f64 th) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 1/120 (pow.f64 ky 5))))))
(*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (*.f64 1/120 (pow.f64 ky 5))))))
(*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5)))))))
(*.f64 (sin.f64 th) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))))
(+.f64 (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))) (*.f64 (*.f64 1/6 (sin.f64 th)) (*.f64 kx (sin.f64 ky))))
(fma.f64 1/6 (*.f64 kx (*.f64 (sin.f64 th) (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (+.f64 (/.f64 (sin.f64 th) kx) (*.f64 kx (*.f64 (sin.f64 th) 1/6))))
(*.f64 (sin.f64 th) (fma.f64 kx (*.f64 (sin.f64 ky) 1/6) (/.f64 (sin.f64 ky) kx)))
(*.f64 (sin.f64 th) (fma.f64 (sin.f64 ky) (*.f64 kx 1/6) (/.f64 (sin.f64 ky) kx)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (*.f64 7/360 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))))
(+.f64 (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))) (fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 kx (sin.f64 ky))) (*.f64 (*.f64 7/360 (sin.f64 th)) (*.f64 (sin.f64 ky) (pow.f64 kx 3)))))
(+.f64 (*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky)) (fma.f64 1/6 (*.f64 kx (*.f64 (sin.f64 th) (sin.f64 ky))) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (*.f64 (pow.f64 kx 3) 7/360))))
(fma.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (+.f64 (*.f64 kx 1/6) (*.f64 7/360 (pow.f64 kx 3)))))
(*.f64 (sin.f64 ky) (+.f64 (/.f64 (sin.f64 th) kx) (*.f64 (sin.f64 th) (+.f64 (*.f64 kx 1/6) (*.f64 7/360 (pow.f64 kx 3))))))
(*.f64 (sin.f64 ky) (+.f64 (/.f64 (sin.f64 th) kx) (*.f64 (sin.f64 th) (*.f64 kx (+.f64 1/6 (*.f64 (*.f64 kx kx) 7/360))))))
(+.f64 (*.f64 31/15120 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 5)))) (+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (*.f64 7/360 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3)))))))
(fma.f64 31/15120 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 5))) (+.f64 (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))) (fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 kx (sin.f64 ky))) (*.f64 (*.f64 7/360 (sin.f64 th)) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))))
(+.f64 (fma.f64 1/6 (*.f64 kx (*.f64 (sin.f64 th) (sin.f64 ky))) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (*.f64 (pow.f64 kx 3) 7/360))) (fma.f64 31/15120 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 5))) (*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))))
(+.f64 (*.f64 (sin.f64 ky) (+.f64 (/.f64 (sin.f64 th) kx) (*.f64 kx (*.f64 (sin.f64 th) 1/6)))) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (+.f64 (*.f64 7/360 (pow.f64 kx 3)) (*.f64 31/15120 (pow.f64 kx 5)))))
(fma.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (+.f64 (+.f64 (*.f64 kx 1/6) (*.f64 7/360 (pow.f64 kx 3))) (*.f64 31/15120 (pow.f64 kx 5))))))
(fma.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky) (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (+.f64 (*.f64 7/360 (pow.f64 kx 3)) (+.f64 (*.f64 kx 1/6) (*.f64 31/15120 (pow.f64 kx 5))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 th (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 th (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 th (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 th (sin.f64 ky)))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (*.f64 (sin.f64 ky) th)))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 th (sin.f64 ky))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (+.f64 (*.f64 th (sin.f64 ky)) (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 ky) (+.f64 th (*.f64 -1/6 (pow.f64 th 3)))))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) (+.f64 th (*.f64 -1/6 (pow.f64 th 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (*.f64 (sin.f64 ky) th))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 th (sin.f64 ky)))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (+.f64 (*.f64 th (sin.f64 ky)) (*.f64 (*.f64 1/120 (sin.f64 ky)) (pow.f64 th 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 th (sin.f64 ky)) (*.f64 (sin.f64 ky) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (+.f64 th (*.f64 -1/6 (pow.f64 th 3))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 ky) (+.f64 th (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/6 (pow.f64 th 3))))))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) (+.f64 th (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/6 (pow.f64 th 3))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (*.f64 (sin.f64 ky) th)) (*.f64 -1/5040 (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 7)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 th (sin.f64 ky)) (*.f64 (*.f64 -1/5040 (*.f64 (sin.f64 ky) (pow.f64 th 7))) (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2))))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (+.f64 (*.f64 th (sin.f64 ky)) (*.f64 -1/5040 (*.f64 (sin.f64 ky) (pow.f64 th 7))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (*.f64 1/120 (sin.f64 ky)) (pow.f64 th 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 (sin.f64 ky) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) th)) (*.f64 (sin.f64 ky) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 ky) (+.f64 (+.f64 th (*.f64 -1/5040 (pow.f64 th 7))) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/6 (pow.f64 th 3))))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (+.f64 th (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (*.f64 -1/6 (pow.f64 th 3)))))))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (+.f64 th (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (*.f64 -1/6 (pow.f64 th 3)))))))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky)
(*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))))
(*.f64 ky (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))))
(*.f64 ky (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))))
(*.f64 ky (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 3))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 3)) (*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2))))))))
(fma.f64 ky (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (pow.f64 ky 3) -1/6)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 3))) (+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 5))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky)))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 3)) (fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 5)) (*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 3)) (fma.f64 ky (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (pow.f64 ky 5) 1/120))))
(fma.f64 ky (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 1/120 (pow.f64 ky 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (+.f64 ky (*.f64 1/120 (pow.f64 ky 5))) (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5)))))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 3))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 7))) (+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (pow.f64 ky 5))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 3)) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 7)) (fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 5)) (*.f64 ky (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2))))))))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 3)) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (pow.f64 ky 7)) (fma.f64 ky (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (*.f64 (pow.f64 ky 5) 1/120)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3)))) (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 1/120 (pow.f64 ky 5)) (*.f64 -1/5040 (pow.f64 ky 7)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (*.f64 1/120 (pow.f64 ky 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5))))))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(/.f64 (sin.f64 ky) kx)
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (/.f64 (sin.f64 ky) kx))
(fma.f64 1/6 (*.f64 kx (sin.f64 ky)) (/.f64 (sin.f64 ky) kx))
(fma.f64 kx (*.f64 (sin.f64 ky) 1/6) (/.f64 (sin.f64 ky) kx))
(fma.f64 (sin.f64 ky) (*.f64 kx 1/6) (/.f64 (sin.f64 ky) kx))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (+.f64 (*.f64 7/360 (*.f64 (sin.f64 ky) (pow.f64 kx 3))) (/.f64 (sin.f64 ky) kx)))
(fma.f64 1/6 (*.f64 kx (sin.f64 ky)) (fma.f64 7/360 (*.f64 (sin.f64 ky) (pow.f64 kx 3)) (/.f64 (sin.f64 ky) kx)))
(+.f64 (/.f64 (sin.f64 ky) kx) (*.f64 (sin.f64 ky) (+.f64 (*.f64 kx 1/6) (*.f64 7/360 (pow.f64 kx 3)))))
(+.f64 (/.f64 (sin.f64 ky) kx) (*.f64 (*.f64 kx (sin.f64 ky)) (+.f64 (*.f64 (*.f64 kx kx) 7/360) 1/6)))
(+.f64 (/.f64 (sin.f64 ky) kx) (*.f64 (*.f64 kx (sin.f64 ky)) (+.f64 1/6 (*.f64 (*.f64 kx kx) 7/360))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (+.f64 (*.f64 31/15120 (*.f64 (sin.f64 ky) (pow.f64 kx 5))) (+.f64 (*.f64 7/360 (*.f64 (sin.f64 ky) (pow.f64 kx 3))) (/.f64 (sin.f64 ky) kx))))
(fma.f64 1/6 (*.f64 kx (sin.f64 ky)) (fma.f64 31/15120 (*.f64 (sin.f64 ky) (pow.f64 kx 5)) (fma.f64 7/360 (*.f64 (sin.f64 ky) (pow.f64 kx 3)) (/.f64 (sin.f64 ky) kx))))
(+.f64 (*.f64 (sin.f64 ky) (+.f64 (*.f64 kx 1/6) (*.f64 7/360 (pow.f64 kx 3)))) (fma.f64 (sin.f64 ky) (*.f64 31/15120 (pow.f64 kx 5)) (/.f64 (sin.f64 ky) kx)))
(+.f64 (/.f64 (sin.f64 ky) kx) (*.f64 (sin.f64 ky) (+.f64 (+.f64 (*.f64 kx 1/6) (*.f64 7/360 (pow.f64 kx 3))) (*.f64 31/15120 (pow.f64 kx 5)))))
(+.f64 (/.f64 (sin.f64 ky) kx) (*.f64 (sin.f64 ky) (+.f64 (*.f64 7/360 (pow.f64 kx 3)) (+.f64 (*.f64 kx 1/6) (*.f64 31/15120 (pow.f64 kx 5))))))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
(*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1/2 (*.f64 -1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 kx 2)))))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 (cos.f64 (*.f64 kx 2)) -1/2 1/2))) (sin.f64 ky))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (sin.f64 ky))
kx
(+.f64 (*.f64 -1/6 (pow.f64 kx 3)) kx)
(fma.f64 -1/6 (pow.f64 kx 3) kx)
(+.f64 (*.f64 1/120 (pow.f64 kx 5)) (+.f64 (*.f64 -1/6 (pow.f64 kx 3)) kx))
(fma.f64 1/120 (pow.f64 kx 5) (fma.f64 -1/6 (pow.f64 kx 3) kx))
(+.f64 (*.f64 1/120 (pow.f64 kx 5)) (+.f64 (*.f64 -1/6 (pow.f64 kx 3)) (+.f64 (*.f64 -1/5040 (pow.f64 kx 7)) kx)))
(fma.f64 1/120 (pow.f64 kx 5) (fma.f64 -1/6 (pow.f64 kx 3) (fma.f64 -1/5040 (pow.f64 kx 7) kx)))
(fma.f64 -1/6 (pow.f64 kx 3) (fma.f64 1/120 (pow.f64 kx 5) (fma.f64 -1/5040 (pow.f64 kx 7) kx)))

eval324.0ms (0.8%)

Compiler

Compiled 13104 to 6838 computations (47.8% saved)

prune225.0ms (0.6%)

Pruning

62 alts after pruning (54 fresh and 8 done)

PrunedKeptTotal
New68734721
Fresh192039
Picked011
Done279
Total70862770
Error
0b
Counts
770 → 62
Alt Table
Click to see full alt table
StatusErrorProgram
47.6b
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
44.3b
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
0.2b
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
32.4b
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
49.3b
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
57.4b
(*.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (/.f64 (sin.f64 ky) kx)) (sin.f64 th))
43.7b
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
50.9b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
0.3b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
56.5b
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
52.7b
(log1p.f64 (fabs.f64 (expm1.f64 (sin.f64 th))))
14.7b
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky)) (sin.f64 th))
0.3b
(*.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)) (sin.f64 th))
47.6b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
54.9b
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
56.6b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
48.4b
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
48.4b
(log.f64 (exp.f64 (sin.f64 th)))
1.1b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
0.4b
(*.f64 (sin.f64 ky) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))
53.5b
(-.f64 (*.f64 (sin.f64 (+.f64 1 th)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 1 th)) (sin.f64 1)))
58.5b
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
33.6b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
0.3b
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
0.3b
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))
58.1b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
52.5b
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 th (sin.f64 ky)))
49.5b
(/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 th th)) (cos.f64 (+.f64 th th)))) (sqrt.f64 2))
48.4b
(-.f64 (+.f64 1 (sin.f64 th)) 1)
58.1b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
0.3b
(/.f64 (sin.f64 th) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 1 (sin.f64 ky))))
32.7b
(/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
56.9b
(*.f64 -1/6 (pow.f64 th 3))
49.4b
(log1p.f64 (expm1.f64 (sin.f64 th)))
49.7b
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 3))
37.5b
(*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) -1/2) (sin.f64 ky)) (sin.f64 th))
15.1b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 ky ky))))))) (sin.f64 th))
46.6b
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
49.3b
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
46.6b
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))))
47.6b
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
49.3b
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
9.0b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
57.1b
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
0.4b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
46.6b
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
56.4b
th
53.1b
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
32.3b
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th)
48.0b
(log1p.f64 (expm1.f64 (sqrt.f64 (pow.f64 (sin.f64 th) 2))))
49.9b
(fabs.f64 (sin.f64 th))
46.6b
(*.f64 (*.f64 ky (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th))
43.7b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
49.6b
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
57.1b
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
49.5b
(*.f64 (sin.f64 ky) (*.f64 (-.f64 (+.f64 1 (/.f64 1 (sin.f64 ky))) 1) (sin.f64 th)))
57.4b
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
32.3b
(/.f64 th (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
54.9b
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
49.4b
(sin.f64 th)
53.1b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
57.5b
(exp.f64 (log.f64 (sin.f64 th)))
Compiler

Compiled 1531 to 1158 computations (24.4% saved)

localize40.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(hypot.f64 (sin.f64 kx) (sin.f64 ky))
0.2b
(/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
0.2b
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))
0.2b
(/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
Compiler

Compiled 62 to 16 computations (74.2% saved)

series14.0ms (0%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
2.0ms
ky
@0
(/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
1.0ms
ky
@0
(/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
1.0ms
kx
@0
(/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
1.0ms
ky
@inf
(/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
1.0ms
kx
@inf
(/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))

rewrite75.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
632×log-prod_binary64
311×pow2_binary64
292×pow-unpow_binary64
219×pow1/3_binary64
215×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01455
129144
2395944
Stop Event
node limit
Counts
3 → 138
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -2)) (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (neg.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) -2) (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) 1) (/.f64 (sqrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) -2) (/.f64 (sin.f64 ky) (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)) (/.f64 (cbrt.f64 (sin.f64 ky)) (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2)) (/.f64 (sqrt.f64 (sin.f64 ky)) (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) -1/2) (/.f64 (sin.f64 ky) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (/.f64 (cbrt.f64 (sin.f64 ky)) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) (/.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) -1) (/.f64 (cbrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) -1) (/.f64 (sqrt.f64 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (cbrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (sin.f64 ky))) (sqrt.f64 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (sin.f64 th)) 2) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (cbrt.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (sin.f64 th)) (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sqrt.f64 (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 th) (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 th) 1) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 1 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 th) (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2)) (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -3) (pow.f64 (sin.f64 th) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -3) (pow.f64 (sin.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (sin.f64 ky)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 1 (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 1 (neg.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (neg.f64 (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) (*.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2) (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2) (neg.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (*.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 1 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) (neg.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sin.f64 ky)) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) -2) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (cbrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 ky) -1/2) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sqrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) 1) (/.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1) (/.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (/.f64 (sqrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (cbrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2)) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (cbrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 2) (sqrt.f64 (sin.f64 ky))) (/.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sqrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (sqrt.f64 (sin.f64 ky))) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sqrt.f64 (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))) (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2)) (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) -3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3) (pow.f64 (sin.f64 ky) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) 3) (pow.f64 (sin.f64 ky) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky))) 1))))))

simplify89.0ms (0.2%)

Algorithm
egg-herbie
Rules
484×times-frac_binary64
450×associate-/l*_binary64
430×distribute-rgt-in_binary64
411×distribute-lft-in_binary64
386×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02393778
17733557
228023426
Stop Event
node limit
Counts
222 → 195
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) 1)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4)))) 1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))))) 1)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (/.f64 ky (sin.f64 kx)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 ky 3)) (*.f64 -1 (/.f64 ky (sin.f64 kx))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 ky 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))))) (*.f64 -1 (/.f64 ky (sin.f64 kx)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 ky 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 3))) (+.f64 (*.f64 1/5040 (/.f64 1 (sin.f64 kx))) (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2)))))) (pow.f64 ky 7)) (*.f64 -1 (/.f64 ky (sin.f64 kx))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
-1
(-.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (pow.f64 (sin.f64 ky) 2)))) 1)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (pow.f64 (sin.f64 ky) 2))))) 1)
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (/.f64 (sin.f64 kx) ky))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky)) (*.f64 -1 (/.f64 (sin.f64 kx) ky)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 kx) ky)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))) (pow.f64 ky 3)))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 kx))) (+.f64 (*.f64 -1/5040 (sin.f64 kx)) (+.f64 (*.f64 1/120 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))))))) (pow.f64 ky 5))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 kx) ky)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))) (pow.f64 ky 3))))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
Outputs
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) 1)
(fma.f64 1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) -1)
(fma.f64 1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) -1)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4)))) 1)
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (neg.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4)))) -1)
(fma.f64 1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (fma.f64 (neg.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 kx 4) -1))
(fma.f64 1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (fma.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (/.f64 (+.f64 1/6 (*.f64 1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (neg.f64 (pow.f64 kx 4)) -1))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/4 (/.f64 1 (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))))) 1)
(+.f64 (fma.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2)) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6) (fma.f64 1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (neg.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))))) -1)
(fma.f64 (fma.f64 1/2 (-.f64 (/.f64 1/4 (*.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 ky) 4))) (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) -1/2)) (pow.f64 (sin.f64 ky) 4))) (fma.f64 1/2 (-.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 2)) (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) -1/2)) (pow.f64 (sin.f64 ky) 4))) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6) (fma.f64 1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (fma.f64 (neg.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 kx 4) -1)))
(fma.f64 (fma.f64 1/2 (+.f64 (/.f64 1/4 (pow.f64 (pow.f64 (sin.f64 ky) 2) 3)) (/.f64 (+.f64 1/6 (*.f64 1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 4))) (fma.f64 1/2 (+.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 2)) (/.f64 (+.f64 1/6 (*.f64 1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 4))) (*.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/3)))) (pow.f64 kx 6) (fma.f64 1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (fma.f64 (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 4)) (/.f64 (+.f64 1/6 (*.f64 1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (neg.f64 (pow.f64 kx 4)) -1)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (/.f64 ky (sin.f64 kx)))
(neg.f64 (/.f64 ky (sin.f64 kx)))
(/.f64 (neg.f64 ky) (sin.f64 kx))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 ky 3)) (*.f64 -1 (/.f64 ky (sin.f64 kx))))
(fma.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 ky 3) (neg.f64 (/.f64 ky (sin.f64 kx))))
(-.f64 (*.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 ky 3)) (/.f64 ky (sin.f64 kx)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 ky 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))))) (*.f64 -1 (/.f64 ky (sin.f64 kx)))))
(fma.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 ky 3) (fma.f64 -1 (*.f64 (pow.f64 ky 5) (-.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 -1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2)))))) (neg.f64 (/.f64 ky (sin.f64 kx)))))
(fma.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 ky 3) (neg.f64 (fma.f64 (pow.f64 ky 5) (+.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (/.f64 ky (sin.f64 kx)))))
(-.f64 (*.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 ky 3)) (fma.f64 (pow.f64 ky 5) (-.f64 (/.f64 1/120 (sin.f64 kx)) (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 -1/12 (sin.f64 kx)) (/.f64 -1/4 (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)))) (/.f64 ky (sin.f64 kx))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 ky 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 3))) (+.f64 (*.f64 1/5040 (/.f64 1 (sin.f64 kx))) (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 1 (sin.f64 kx))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 (sin.f64 kx) 3))) (*.f64 1/6 (/.f64 1 (sin.f64 kx)))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2)))))) (pow.f64 ky 7)) (*.f64 -1 (/.f64 ky (sin.f64 kx))))))
(fma.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 ky 3) (fma.f64 -1 (*.f64 (pow.f64 ky 5) (-.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 -1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2)))))) (fma.f64 (fma.f64 1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))))) (fma.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 (sin.f64 kx) 3)) (+.f64 (/.f64 1/5040 (sin.f64 kx)) (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 -1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2)))))) (pow.f64 ky 7) (neg.f64 (/.f64 ky (sin.f64 kx))))))
(fma.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 ky 3) (-.f64 (fma.f64 (fma.f64 1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)) (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx)))) (fma.f64 1/2 (/.f64 (+.f64 2/45 (/.f64 (*.f64 1/2 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (pow.f64 (sin.f64 kx) 3)) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))) (pow.f64 (sin.f64 kx) 2)) (/.f64 1/5040 (sin.f64 kx))))) (pow.f64 ky 7) (/.f64 (neg.f64 ky) (sin.f64 kx))) (*.f64 (pow.f64 ky 5) (+.f64 (/.f64 1/120 (sin.f64 kx)) (*.f64 1/2 (+.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 (sin.f64 kx) 2))))))))
(fma.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (pow.f64 ky 3) (-.f64 (*.f64 (+.f64 (fma.f64 1/2 (/.f64 (+.f64 2/45 (/.f64 1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (pow.f64 (sin.f64 kx) 3)) (/.f64 1/5040 (sin.f64 kx))) (*.f64 (/.f64 1/2 (sin.f64 kx)) (+.f64 (/.f64 (-.f64 (/.f64 1/120 (sin.f64 kx)) (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 -1/12 (sin.f64 kx)) (/.f64 -1/4 (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 kx)) (/.f64 (+.f64 (/.f64 1/2 (pow.f64 (sin.f64 kx) 3)) (/.f64 1/6 (sin.f64 kx))) (/.f64 (sin.f64 kx) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))))) (pow.f64 ky 7)) (fma.f64 (pow.f64 ky 5) (-.f64 (/.f64 1/120 (sin.f64 kx)) (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3)) (/.f64 (+.f64 (/.f64 -1/12 (sin.f64 kx)) (/.f64 -1/4 (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)))) (/.f64 ky (sin.f64 kx)))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 ky)))
(neg.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sin.f64 ky) (neg.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) -1/6)))
(*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (+.f64 th (*.f64 (pow.f64 th 3) -1/6)))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 5))) (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) -1/6))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 5))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (+.f64 th (*.f64 (pow.f64 th 3) -1/6))))
(+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7)))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 -1/5040 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th)))))
(fma.f64 1/120 (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (pow.f64 th 5))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 7)) -1/5040)))))
(+.f64 (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (+.f64 th (*.f64 (pow.f64 th 7) -1/5040))) (*.f64 (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))))) (+.f64 (*.f64 (pow.f64 th 3) -1/6) (*.f64 (pow.f64 th 5) 1/120))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(sin.f64 th)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th))
(fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th))
(fma.f64 -1/2 (*.f64 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (sin.f64 th)) (sin.f64 th))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (sin.f64 th)))
(fma.f64 -1 (*.f64 (pow.f64 kx 4) (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)))))) (fma.f64 -1/2 (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th)) (*.f64 (pow.f64 kx 4) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))))))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (sin.f64 th)) (sin.f64 th)) (*.f64 (pow.f64 kx 4) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/3)) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 4))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (pow.f64 kx 2)) (pow.f64 (sin.f64 ky) 2))) (+.f64 (sin.f64 th) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 th) (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 th) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (pow.f64 (sin.f64 ky) 4))))) (pow.f64 kx 6))))))
(fma.f64 -1 (*.f64 (pow.f64 kx 4) (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)))))) (+.f64 (fma.f64 -1/2 (/.f64 (*.f64 (*.f64 kx kx) (sin.f64 th)) (pow.f64 (sin.f64 ky) 2)) (sin.f64 th)) (neg.f64 (*.f64 (pow.f64 kx 6) (fma.f64 -1/2 (/.f64 (fma.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (*.f64 -1/2 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 2) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3))))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (/.f64 (*.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 ky) 2)) (*.f64 1/4 (/.f64 (sin.f64 th) (/.f64 (pow.f64 (sin.f64 ky) 4) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3))))))))))
(-.f64 (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (*.f64 kx kx)) (sin.f64 th)) (*.f64 (pow.f64 kx 6) (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2))))) (*.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3))))))) (*.f64 (pow.f64 kx 4) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3)) (*.f64 -1/4 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4))))))
(-.f64 (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (sin.f64 th)) (sin.f64 th)) (*.f64 (pow.f64 kx 4) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/3)) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4))))) (*.f64 (pow.f64 kx 6) (fma.f64 -1/2 (/.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/3)) (/.f64 (*.f64 (sin.f64 th) -1/4) (pow.f64 (sin.f64 ky) 4))) (pow.f64 (sin.f64 ky) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 2)) (+.f64 2/45 (/.f64 (+.f64 1/6 (*.f64 1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2)))) (*.f64 1/4 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 ky) 4)) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/3)))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))
(+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (pow.f64 ky 3) (-.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))))
(fma.f64 (pow.f64 ky 3) (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))))
(fma.f64 (pow.f64 ky 3) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (*.f64 (pow.f64 ky 3) (-.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))))))
(fma.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (fma.f64 (pow.f64 ky 3) (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))))
(fma.f64 (pow.f64 ky 5) (-.f64 (fma.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2))))))) (*.f64 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (fma.f64 (pow.f64 ky 3) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 th) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3)))))) (pow.f64 ky 7)) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx))) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 ky 3)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 ky 5) (+.f64 (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (fma.f64 (-.f64 (/.f64 (*.f64 -1/5040 (sin.f64 th)) (sin.f64 kx)) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 -1/2 (/.f64 (-.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)))) (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))))))) (pow.f64 ky 7) (*.f64 (pow.f64 ky 3) (-.f64 (/.f64 (*.f64 -1/6 (sin.f64 th)) (sin.f64 kx)) (*.f64 1/2 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3))))))))
(+.f64 (fma.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (fma.f64 (pow.f64 ky 3) (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))))) (*.f64 (pow.f64 ky 7) (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)) (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 th) (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (*.f64 (/.f64 (+.f64 2/45 (/.f64 (*.f64 1/2 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))) (pow.f64 (sin.f64 kx) 2))) (pow.f64 (sin.f64 kx) 3)) (sin.f64 th)) (*.f64 -1/2 (*.f64 (/.f64 (fma.f64 -1/6 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 (*.f64 -1/2 (sin.f64 th)) (pow.f64 (sin.f64 kx) 3))) (pow.f64 (sin.f64 kx) 2)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))))))))
(+.f64 (fma.f64 (pow.f64 ky 7) (-.f64 (*.f64 -1/5040 (/.f64 (sin.f64 th) (sin.f64 kx))) (fma.f64 1/2 (/.f64 (-.f64 (fma.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2))))))) (*.f64 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (pow.f64 (sin.f64 kx) 2)) (fma.f64 1/2 (*.f64 (/.f64 (+.f64 2/45 (/.f64 1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2))))) (pow.f64 (sin.f64 kx) 3)) (sin.f64 th)) (*.f64 -1/2 (*.f64 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2))))))))) (*.f64 (pow.f64 ky 3) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2)))))) (fma.f64 (pow.f64 ky 5) (-.f64 (fma.f64 1/120 (/.f64 (sin.f64 th) (sin.f64 kx)) (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 2) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) (-.f64 -1/6 (/.f64 1/2 (pow.f64 (sin.f64 kx) 2))))))) (*.f64 (/.f64 -1/2 (/.f64 (pow.f64 (sin.f64 kx) 3) (sin.f64 th))) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 th)))
-1
(-.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) 1)
(fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) -1)
(fma.f64 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) -1/2 -1)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (pow.f64 (sin.f64 ky) 2)))) 1)
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4))))) -1)
(fma.f64 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) -1/2 (fma.f64 1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)) (pow.f64 kx 4)) -1))
(fma.f64 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) -1/2 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2)) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/3)) -1))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 kx 2) (pow.f64 (sin.f64 ky) 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (pow.f64 kx 6)) (pow.f64 (sin.f64 ky) 2))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 kx 4)) (pow.f64 (sin.f64 ky) 2))))) 1)
(+.f64 (fma.f64 -1/2 (/.f64 (*.f64 kx kx) (pow.f64 (sin.f64 ky) 2)) (fma.f64 -1/2 (/.f64 (+.f64 2/45 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)))) (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 6))) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (/.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 kx 4)))))) -1)
(+.f64 (*.f64 -1/2 (+.f64 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) (*.f64 (-.f64 (/.f64 2/45 (pow.f64 (sin.f64 ky) 2)) (/.f64 (+.f64 -1/6 (*.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) -1/2)) (pow.f64 (sin.f64 ky) 4))) (pow.f64 kx 6)))) (fma.f64 1/2 (*.f64 (/.f64 (+.f64 (pow.f64 (/.f64 1/2 (sin.f64 ky)) 2) 1/3) (pow.f64 (sin.f64 ky) 2)) (pow.f64 kx 4)) -1))
(+.f64 (*.f64 (/.f64 -1/2 (sin.f64 ky)) (+.f64 (/.f64 (*.f64 kx kx) (sin.f64 ky)) (/.f64 (+.f64 2/45 (/.f64 (+.f64 1/6 (*.f64 1/2 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)))) (pow.f64 (sin.f64 ky) 2))) (/.f64 (sin.f64 ky) (pow.f64 kx 6))))) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 kx 4) (pow.f64 (sin.f64 ky) 2)) (+.f64 (/.f64 1/4 (pow.f64 (sin.f64 ky) 2)) 1/3)) -1))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (/.f64 (sin.f64 kx) ky))
(neg.f64 (/.f64 (sin.f64 kx) ky))
(/.f64 (neg.f64 (sin.f64 kx)) ky)
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky)) (*.f64 -1 (/.f64 (sin.f64 kx) ky)))
(*.f64 -1 (+.f64 (*.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx)))) (/.f64 (sin.f64 kx) ky)))
(neg.f64 (fma.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (/.f64 (sin.f64 kx) ky)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky)) (+.f64 (*.f64 -1 (/.f64 (sin.f64 kx) ky)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))) (pow.f64 ky 3)))))
(fma.f64 -1 (*.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx)))) (*.f64 -1 (+.f64 (/.f64 (sin.f64 kx) ky) (*.f64 (pow.f64 ky 3) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) (*.f64 (sin.f64 kx) 1/120)))))))
(-.f64 (neg.f64 (fma.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (/.f64 (sin.f64 kx) ky))) (*.f64 (pow.f64 ky 3) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (*.f64 (sin.f64 kx) 1/120)))))
(-.f64 (*.f64 (+.f64 (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx)) (*.f64 1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)))) (*.f64 (sin.f64 kx) -1/120)) (neg.f64 (pow.f64 ky 3))) (fma.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (/.f64 (sin.f64 kx) ky)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx))) ky)) (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 kx))) (+.f64 (*.f64 -1/5040 (sin.f64 kx)) (+.f64 (*.f64 1/120 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))))))) (pow.f64 ky 5))) (+.f64 (*.f64 -1 (/.f64 (sin.f64 kx) ky)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (+.f64 (*.f64 -1/6 (-.f64 (*.f64 1/2 (/.f64 1 (sin.f64 kx))) (*.f64 -1/6 (sin.f64 kx)))) (*.f64 1/120 (sin.f64 kx)))) (pow.f64 ky 3))))))
(fma.f64 -1 (*.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx)))) (fma.f64 -1 (*.f64 (pow.f64 ky 5) (-.f64 (*.f64 1/2 (/.f64 (-.f64 2/45 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 2)))) (sin.f64 kx))) (fma.f64 -1/5040 (sin.f64 kx) (fma.f64 1/120 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) (*.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) (*.f64 (sin.f64 kx) 1/120)))))))) (*.f64 -1 (+.f64 (/.f64 (sin.f64 kx) ky) (*.f64 (pow.f64 ky 3) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 1/6 (sin.f64 kx))) (*.f64 (sin.f64 kx) 1/120))))))))
(+.f64 (-.f64 (neg.f64 (fma.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (/.f64 (sin.f64 kx) ky))) (*.f64 (pow.f64 ky 3) (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (*.f64 (sin.f64 kx) 1/120))))) (*.f64 (pow.f64 ky 5) (neg.f64 (-.f64 (*.f64 1/2 (-.f64 (/.f64 2/45 (sin.f64 kx)) (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (pow.f64 (sin.f64 kx) 3))))) (fma.f64 (sin.f64 kx) -1/5040 (fma.f64 -1/6 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx))) (fma.f64 -1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (*.f64 (sin.f64 kx) 1/120))) (*.f64 1/120 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)))))))))
(-.f64 (-.f64 (*.f64 (+.f64 (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx)) (*.f64 1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)))) (*.f64 (sin.f64 kx) -1/120)) (neg.f64 (pow.f64 ky 3))) (fma.f64 ky (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)) (/.f64 (sin.f64 kx) ky))) (*.f64 (pow.f64 ky 5) (-.f64 (fma.f64 1/2 (-.f64 (/.f64 2/45 (sin.f64 kx)) (*.f64 (/.f64 -1/2 (pow.f64 (sin.f64 kx) 3)) (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)))) (*.f64 (sin.f64 kx) 1/5040)) (fma.f64 -1/6 (+.f64 (fma.f64 -1/2 (/.f64 (+.f64 1/3 (pow.f64 (/.f64 1/2 (sin.f64 kx)) 2)) (sin.f64 kx)) (*.f64 1/6 (+.f64 (/.f64 1/2 (sin.f64 kx)) (*.f64 (sin.f64 kx) 1/6)))) (*.f64 (sin.f64 kx) -1/120)) (+.f64 (/.f64 1/240 (sin.f64 kx)) (*.f64 (*.f64 (sin.f64 kx) 1/6) 1/120))))))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))
(*.f64 -1 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(neg.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2))) (/.f64 1 (sin.f64 ky))))
(/.f64 (neg.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -1/6 (pow.f64 th 3))
Compiler

Compiled 14 to 11 computations (21.4% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/6 ky) (/.f64 1 ky))
0.3b
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
0.3b
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th))
0.3b
(*.f64 1/6 ky)
Compiler

Compiled 47 to 29 computations (38.3% saved)

series12.0ms (0%)

Counts
4 → 43
Calls

18 calls:

TimeVariablePointExpression
3.0ms
ky
@-inf
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
1.0ms
th
@inf
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th))
1.0ms
th
@0
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th))
1.0ms
th
@inf
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
1.0ms
th
@0
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))

rewrite75.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
883×prod-diff_binary64
601×log-prod_binary64
318×pow2_binary64
268×fma-def_binary64
223×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01243
125043
2321443
Stop Event
node limit
Counts
4 → 123
Calls
Call 1
Inputs
(*.f64 1/6 ky)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(+.f64 (*.f64 1/6 ky) (/.f64 1 ky))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/6 ky))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/6) ky)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/6) ky))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/6) ky))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/6) ky))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/6 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/6 ky) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/6 ky)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/6 ky)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/6 ky) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/36 (*.f64 ky ky)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/6) ky))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/6 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/6 ky) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/6 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/6 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/6 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/6 ky)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/6 ky) (sin.f64 th)) (*.f64 (/.f64 1 ky) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 ky) (sin.f64 th)) (*.f64 (*.f64 1/6 ky) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 th) (*.f64 1/6 ky)) (*.f64 (sin.f64 th) (/.f64 1 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 th) (/.f64 1 ky)) (*.f64 (sin.f64 th) (*.f64 1/6 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (fma.f64 1/6 ky (/.f64 1 ky)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (fma.f64 1/6 ky (/.f64 1 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (fma.f64 1/6 ky (/.f64 1 ky))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (fma.f64 1/6 ky (/.f64 1 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/216 (pow.f64 ky 3) (pow.f64 ky -3)) (sin.f64 th)) (-.f64 (fma.f64 1/36 (*.f64 ky ky) (pow.f64 ky -2)) (/.f64 (*.f64 1/6 ky) ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/36 (*.f64 ky ky) (neg.f64 (pow.f64 ky -2))) (sin.f64 th)) (-.f64 (*.f64 1/6 ky) (/.f64 1 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 th) (fma.f64 1/216 (pow.f64 ky 3) (pow.f64 ky -3))) (-.f64 (fma.f64 1/36 (*.f64 ky ky) (pow.f64 ky -2)) (/.f64 (*.f64 1/6 ky) ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 th) (fma.f64 1/36 (*.f64 ky ky) (neg.f64 (pow.f64 ky -2)))) (-.f64 (*.f64 1/6 ky) (/.f64 1 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 3) (pow.f64 (sin.f64 th) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 th)) (fma.f64 1/6 ky (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 3) (pow.f64 (sin.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 ky) (sin.f64 th) (*.f64 (/.f64 1 ky) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 ky) (sin.f64 th) (*.f64 (*.f64 1/6 ky) (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 th) (*.f64 1/6 ky) (*.f64 (sin.f64 th) (/.f64 1 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 th) (/.f64 1 ky) (*.f64 (sin.f64 th) (*.f64 1/6 ky)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)) 3) (pow.f64 (sin.f64 ky) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 ky)) (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)) 3) (pow.f64 (sin.f64 ky) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (sin.f64 th)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/6 ky (/.f64 1 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/36 (*.f64 ky ky)) (-.f64 (*.f64 1/6 ky) (/.f64 1 ky))) (/.f64 (pow.f64 ky -2) (-.f64 (*.f64 1/6 ky) (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/6 ky (/.f64 1 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/6 ky (/.f64 1 ky))) (pow.f64 (cbrt.f64 (fma.f64 1/6 ky (/.f64 1 ky))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/6 ky (/.f64 1 ky))) 2) (cbrt.f64 (fma.f64 1/6 ky (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/6 ky (/.f64 1 ky))) (sqrt.f64 (fma.f64 1/6 ky (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/216 (pow.f64 ky 3) (pow.f64 ky -3)) (/.f64 1 (-.f64 (fma.f64 1/36 (*.f64 ky ky) (pow.f64 ky -2)) (/.f64 (*.f64 1/6 ky) ky))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/36 (*.f64 ky ky) (neg.f64 (pow.f64 ky -2))) (/.f64 1 (-.f64 (*.f64 1/6 ky) (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 1/36 (*.f64 ky ky) (pow.f64 ky -2)) (/.f64 (*.f64 1/6 ky) ky)) (fma.f64 1/216 (pow.f64 ky 3) (pow.f64 ky -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (fma.f64 1/36 (*.f64 ky ky) (neg.f64 (pow.f64 ky -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/216 (pow.f64 ky 3) (pow.f64 ky -3)) (-.f64 (fma.f64 1/36 (*.f64 ky ky) (pow.f64 ky -2)) (/.f64 (*.f64 1/6 ky) ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/216 (pow.f64 ky 3) (pow.f64 ky -3)) (+.f64 (pow.f64 ky -2) (-.f64 (*.f64 1/36 (*.f64 ky ky)) (/.f64 (*.f64 1/6 ky) ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/36 (*.f64 ky ky) (neg.f64 (pow.f64 ky -2))) (-.f64 (*.f64 1/6 ky) (/.f64 1 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/216 (pow.f64 ky 3) (pow.f64 ky -3))) (neg.f64 (-.f64 (fma.f64 1/36 (*.f64 ky ky) (pow.f64 ky -2)) (/.f64 (*.f64 1/6 ky) ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/36 (*.f64 ky ky) (neg.f64 (pow.f64 ky -2)))) (neg.f64 (-.f64 (*.f64 1/6 ky) (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 ky -2) (*.f64 1/36 (*.f64 ky ky))) (-.f64 (/.f64 1 ky) (*.f64 1/6 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/6 ky (/.f64 1 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/6 ky (/.f64 1 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 1/36 (*.f64 ky ky) (pow.f64 ky -2)) (/.f64 (*.f64 1/6 ky) ky)) (fma.f64 1/216 (pow.f64 ky 3) (pow.f64 ky -3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (fma.f64 1/36 (*.f64 ky ky) (neg.f64 (pow.f64 ky -2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/6 ky (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/6 ky (/.f64 1 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/6 ky))) (exp.f64 (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/6) ky) (+.f64 1 (expm1.f64 (/.f64 1 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/6 ky))) (+.f64 1 (expm1.f64 (/.f64 1 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1 ky))) (pow.f64 (exp.f64 1/6) ky)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 1 ky)) (+.f64 1 (expm1.f64 (*.f64 1/6 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1 ky))) (+.f64 1 (expm1.f64 (*.f64 1/6 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/6 ky (/.f64 1 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/6 ky (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/6 ky (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/6 ky (/.f64 1 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/6 ky (/.f64 1 ky))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/6 ky (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 ky 1/6 (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 ky) 1 (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/6 ky) (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 ky) (*.f64 1/6 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 ky) 1 (*.f64 1/6 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (cbrt.f64 ky)) (cbrt.f64 (pow.f64 ky -2)) (*.f64 1/6 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 ky -2)) (/.f64 1 (cbrt.f64 ky)) (*.f64 1/6 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 ky) 2) (*.f64 (cbrt.f64 ky) 1/6) (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/6 ky)) (pow.f64 (cbrt.f64 (*.f64 1/6 ky)) 2) (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/6 ky)) 2) (cbrt.f64 (*.f64 1/6 ky)) (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 ky -1/2) (pow.f64 ky -1/2) (*.f64 1/6 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 ky) (*.f64 (sqrt.f64 ky) 1/6) (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/6 ky)) (sqrt.f64 (*.f64 1/6 ky)) (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 1 (neg.f64 ky)) (*.f64 1/6 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 ky) 2)) (/.f64 1 (cbrt.f64 ky)) (*.f64 1/6 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 (pow.f64 (cbrt.f64 ky) 2)) (cbrt.f64 ky) (/.f64 1 ky))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/6 (sqrt.f64 ky)) (sqrt.f64 ky) (/.f64 1 ky))))))

simplify65.0ms (0.2%)

Algorithm
egg-herbie
Rules
505×fma-def_binary64
478×associate-*l/_binary64
396×distribute-rgt-in_binary64
393×associate-*r/_binary64
384×distribute-lft-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
083995
1224953
2691792
33381714
45607694
Stop Event
node limit
Counts
166 → 158
Calls
Call 1
Inputs
(/.f64 (sin.f64 th) ky)
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(*.f64 1/6 (*.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(*.f64 1/6 (*.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 3))) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 3))) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th)))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 3))) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 7))) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))))
(sin.f64 th)
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (sin.f64 th)) (*.f64 1/6 (sin.f64 th))) (pow.f64 ky 2)) (sin.f64 th))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (sin.f64 th)) (*.f64 1/6 (sin.f64 th))) (pow.f64 ky 2)) (+.f64 (sin.f64 th) (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 4))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (sin.f64 th)) (*.f64 1/720 (sin.f64 th))) (pow.f64 ky 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (sin.f64 th)) (*.f64 1/6 (sin.f64 th))) (pow.f64 ky 2)) (+.f64 (sin.f64 th) (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 4)))))
(*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th)))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th)) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 5))))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th)) (+.f64 (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 7)))))))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(/.f64 1 ky)
(*.f64 1/6 ky)
(*.f64 1/6 ky)
Outputs
(/.f64 (sin.f64 th) ky)
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(*.f64 1/6 (*.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (*.f64 ky 1/6))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(*.f64 1/6 (*.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (*.f64 ky 1/6))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky))
(fma.f64 1/6 (*.f64 (sin.f64 th) ky) (/.f64 (sin.f64 th) ky))
(fma.f64 (*.f64 (sin.f64 th) 1/6) ky (/.f64 (sin.f64 th) ky))
(fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (fma.f64 ky 1/6 (/.f64 1 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th)
(*.f64 th (fma.f64 1/6 ky (/.f64 1 ky)))
(*.f64 th (fma.f64 ky 1/6 (/.f64 1 ky)))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 3))) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fma.f64 -1/6 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (pow.f64 th 3)) (*.f64 th (fma.f64 1/6 ky (/.f64 1 ky))))
(fma.f64 th (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (pow.f64 th 3) -1/6)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 th (*.f64 -1/6 (pow.f64 th 3))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 3))) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th)))
(fma.f64 1/120 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (pow.f64 th 5)) (fma.f64 -1/6 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (pow.f64 th 3)) (*.f64 th (fma.f64 1/6 ky (/.f64 1 ky)))))
(fma.f64 1/120 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (pow.f64 th 5)) (fma.f64 th (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (pow.f64 th 3) -1/6))))
(fma.f64 (pow.f64 th 3) (+.f64 (*.f64 ky -1/36) (/.f64 -1/6 ky)) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 th (*.f64 1/120 (pow.f64 th 5)))))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 th (*.f64 1/120 (pow.f64 th 5)))))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 (+.f64 th (*.f64 1/120 (pow.f64 th 5))) (*.f64 -1/6 (pow.f64 th 3))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 3))) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (pow.f64 th 7))) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))))
(fma.f64 1/120 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (pow.f64 th 5)) (fma.f64 -1/6 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (pow.f64 th 3)) (fma.f64 -1/5040 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (pow.f64 th 7)) (*.f64 th (fma.f64 1/6 ky (/.f64 1 ky))))))
(fma.f64 1/120 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (pow.f64 th 5)) (fma.f64 -1/6 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (pow.f64 th 3)) (fma.f64 th (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (pow.f64 th 7) -1/5040)))))
(+.f64 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) th)) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/6 (pow.f64 th 3)))))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 (+.f64 th (*.f64 1/120 (pow.f64 th 5))) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (*.f64 -1/6 (pow.f64 th 3)))))
(sin.f64 th)
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (sin.f64 th)) (*.f64 1/6 (sin.f64 th))) (pow.f64 ky 2)) (sin.f64 th))
(sin.f64 th)
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (sin.f64 th)) (*.f64 1/6 (sin.f64 th))) (pow.f64 ky 2)) (+.f64 (sin.f64 th) (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 4))))
(+.f64 (fma.f64 (*.f64 (sin.f64 th) 0) (*.f64 ky ky) (sin.f64 th)) (*.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 4)))
(fma.f64 0 (*.f64 ky ky) (fma.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 4) (sin.f64 th)))
(+.f64 (sin.f64 th) (fma.f64 (sin.f64 th) (*.f64 (pow.f64 ky 4) -7/360) 0))
(fma.f64 (sin.f64 th) (*.f64 (pow.f64 ky 4) -7/360) (sin.f64 th))
(+.f64 (*.f64 (+.f64 (*.f64 -1/5040 (sin.f64 th)) (*.f64 1/720 (sin.f64 th))) (pow.f64 ky 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (sin.f64 th)) (*.f64 1/6 (sin.f64 th))) (pow.f64 ky 2)) (+.f64 (sin.f64 th) (*.f64 (+.f64 (*.f64 -1/36 (sin.f64 th)) (*.f64 1/120 (sin.f64 th))) (pow.f64 ky 4)))))
(fma.f64 (*.f64 (sin.f64 th) 1/840) (pow.f64 ky 6) (+.f64 (fma.f64 (*.f64 (sin.f64 th) 0) (*.f64 ky ky) (sin.f64 th)) (*.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 4))))
(fma.f64 (*.f64 (sin.f64 th) 1/840) (pow.f64 ky 6) (fma.f64 0 (*.f64 ky ky) (fma.f64 (*.f64 (sin.f64 th) -7/360) (pow.f64 ky 4) (sin.f64 th))))
(+.f64 0 (+.f64 (sin.f64 th) (*.f64 (sin.f64 th) (+.f64 (*.f64 (pow.f64 ky 4) -7/360) (*.f64 (pow.f64 ky 6) 1/840)))))
(+.f64 (sin.f64 th) (*.f64 (sin.f64 th) (+.f64 (*.f64 (pow.f64 ky 6) 1/840) (*.f64 (pow.f64 ky 4) -7/360))))
(*.f64 (sin.f64 th) (+.f64 (*.f64 (pow.f64 ky 4) -7/360) (+.f64 (*.f64 (pow.f64 ky 6) 1/840) 1)))
(*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky)))
(*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (*.f64 ky (sin.f64 ky)) 1/6))
(*.f64 ky (*.f64 1/6 (*.f64 (sin.f64 th) (sin.f64 ky))))
(*.f64 (*.f64 (sin.f64 th) ky) (*.f64 (sin.f64 ky) 1/6))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky)))
(*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky)))
(*.f64 (sin.f64 th) (*.f64 (*.f64 ky (sin.f64 ky)) 1/6))
(*.f64 ky (*.f64 1/6 (*.f64 (sin.f64 th) (sin.f64 ky))))
(*.f64 (*.f64 (sin.f64 th) ky) (*.f64 (sin.f64 ky) 1/6))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) ky) (*.f64 1/6 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) ky))))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 th (sin.f64 ky)))
(*.f64 th (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th)))
(fma.f64 -1/6 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (pow.f64 th 3) (sin.f64 ky))) (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 th (sin.f64 ky))))
(fma.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 th (sin.f64 ky)) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (*.f64 (pow.f64 th 3) (sin.f64 ky)) -1/6)))
(*.f64 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th))
(*.f64 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)) (+.f64 th (*.f64 -1/6 (pow.f64 th 3))))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 ky) (+.f64 th (*.f64 -1/6 (pow.f64 th 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th)) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 5))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (pow.f64 th 3) (sin.f64 ky))) (fma.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 th (sin.f64 ky)) (*.f64 (*.f64 1/120 (fma.f64 1/6 ky (/.f64 1 ky))) (*.f64 (pow.f64 th 5) (sin.f64 ky)))))
(fma.f64 -1/6 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (pow.f64 th 3) (sin.f64 ky))) (fma.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 th (sin.f64 ky)) (*.f64 1/120 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (pow.f64 th 5) (sin.f64 ky))))))
(fma.f64 (*.f64 (pow.f64 th 3) (+.f64 (*.f64 ky -1/36) (/.f64 -1/6 ky))) (sin.f64 ky) (*.f64 (sin.f64 ky) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 th (*.f64 1/120 (pow.f64 th 5))))))
(*.f64 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (+.f64 th (*.f64 1/120 (pow.f64 th 5)))))
(*.f64 (sin.f64 ky) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (+.f64 (+.f64 th (*.f64 1/120 (pow.f64 th 5))) (*.f64 -1/6 (pow.f64 th 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th)) (+.f64 (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) (pow.f64 th 7)))))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (pow.f64 th 3) (sin.f64 ky))) (fma.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 th (sin.f64 ky)) (fma.f64 1/120 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (pow.f64 th 5) (sin.f64 ky))) (*.f64 -1/5040 (*.f64 (fma.f64 1/6 ky (/.f64 1 ky)) (*.f64 (pow.f64 th 7) (sin.f64 ky)))))))
(fma.f64 -1/6 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (pow.f64 th 3) (sin.f64 ky))) (fma.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 th (sin.f64 ky)) (fma.f64 1/120 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (pow.f64 th 5) (sin.f64 ky))) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (*.f64 (pow.f64 th 7) (sin.f64 ky)) -1/5040)))))
(+.f64 (*.f64 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)) (*.f64 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/5040 (pow.f64 th 7)))))
(*.f64 (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)) (+.f64 (+.f64 th (*.f64 -1/6 (pow.f64 th 3))) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (*.f64 1/120 (pow.f64 th 5)))))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(+.f64 (*.f64 (*.f64 (sin.f64 th) 1/6) (*.f64 ky (sin.f64 ky))) (/.f64 (sin.f64 th) (/.f64 ky (sin.f64 ky))))
(fma.f64 1/6 (*.f64 (sin.f64 th) (*.f64 ky (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 th) ky) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (fma.f64 ky (*.f64 (sin.f64 th) 1/6) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 th) (*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (sin.f64 ky)))
(*.f64 (fma.f64 ky 1/6 (/.f64 1 ky)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(/.f64 1 ky)
(*.f64 1/6 ky)
(*.f64 ky 1/6)
(*.f64 1/6 ky)
(*.f64 ky 1/6)

localize13.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 th)
0.1b
(/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx)))
0.2b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
31.0b
(sqrt.f64 (*.f64 kx kx))
Compiler

Compiled 34 to 9 computations (73.5% saved)

series13.0ms (0%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
4.0ms
kx
@-inf
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
1.0ms
kx
@inf
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
1.0ms
th
@0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
1.0ms
ky
@0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
1.0ms
kx
@0
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))

rewrite59.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
961×pow1_binary64
888×add-log-exp_binary64
888×log1p-expm1-u_binary64
888×expm1-log1p-u_binary64
96×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01018
120618
2241218
Stop Event
node limit
Counts
3 → 79
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 kx kx))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
(/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 kx)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 kx 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 kx)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 kx) (cbrt.f64 (*.f64 kx kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 kx kx)) (cbrt.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 kx) (sqrt.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 kx 4))) (sqrt.f64 (cbrt.f64 (*.f64 kx kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) kx)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 kx 4)) 1/2) (pow.f64 (cbrt.f64 (*.f64 kx kx)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (*.f64 kx kx))) (fabs.f64 (cbrt.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 kx kx) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 kx 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 kx 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 kx) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 kx) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 kx)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 kx 3))))) (#(struct:change #<rule egg-rr> (2) ((x . kx)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 kx))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 ky) (/.f64 kx (sin.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 ky) (sin.f64 th))) (neg.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) 1) kx)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (cbrt.f64 (*.f64 kx kx))) (cbrt.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sqrt.f64 kx)) (sqrt.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) (neg.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 th) (neg.f64 (sin.f64 ky))) (neg.f64 kx))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 th)) (/.f64 (sin.f64 ky) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 ky) kx) 3) (pow.f64 (sin.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (/.f64 (sin.f64 ky) kx) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) kx)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 ky) kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 ky) (/.f64 1 kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 ky) kx) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 ky) kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (*.f64 (cbrt.f64 (sin.f64 ky)) (/.f64 1 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 ky) kx)) (cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) kx) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) kx) 2)) (cbrt.f64 (/.f64 (sin.f64 ky) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 ky)) (*.f64 (sqrt.f64 (sin.f64 ky)) (/.f64 1 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 ky) kx)) (sqrt.f64 (/.f64 (sin.f64 ky) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 ky)) (/.f64 1 (neg.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 kx) (sin.f64 ky))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 ky)) kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) 1) (/.f64 (sqrt.f64 (sin.f64 ky)) kx))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 kx kx))) (/.f64 (sin.f64 ky) (cbrt.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (cbrt.f64 (*.f64 kx kx))) (cbrt.f64 (/.f64 (sin.f64 ky) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 ky)) (cbrt.f64 (*.f64 kx kx))) (/.f64 (sqrt.f64 (sin.f64 ky)) (cbrt.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 kx)) (/.f64 (sin.f64 ky) (sqrt.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 ky)) 2) (sqrt.f64 kx)) (/.f64 (cbrt.f64 (sin.f64 ky)) (sqrt.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 ky) kx) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 ky) kx) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 ky) kx)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 ky) kx)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 kx (sin.f64 ky)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 ky) kx) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 ky) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 ky) kx))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 ky) kx) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 kx 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 ky) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 ky) kx)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 ky) kx)))))))

simplify128.0ms (0.3%)

Algorithm
egg-herbie
Rules
803×associate-/r/_binary64
672×unswap-sqr_binary64
476×fma-def_binary64
423×associate-*r*_binary64
402×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
065804
1185796
2474792
31290748
43956720
55982720
66852720
Stop Event
node limit
Counts
151 → 112
Calls
Call 1
Inputs
kx
kx
kx
kx
kx
kx
kx
kx
(*.f64 -1 kx)
(*.f64 -1 kx)
(*.f64 -1 kx)
(*.f64 -1 kx)
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) kx) (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) kx)))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) kx) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) kx)) (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) kx))))
(+.f64 (*.f64 -1/5040 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 7)) kx)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) kx) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) kx)) (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) kx)))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) kx)) (/.f64 (*.f64 (sin.f64 ky) th) kx))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) kx)) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) kx)) (/.f64 (*.f64 (sin.f64 ky) th) kx)))
(+.f64 (*.f64 -1/5040 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 7)) kx)) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) kx)) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) kx)) (/.f64 (*.f64 (sin.f64 ky) th) kx))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 ky kx)
(+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx)))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 ky 5) kx)) (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))))
(+.f64 (*.f64 -1/5040 (/.f64 (pow.f64 ky 7) kx)) (+.f64 (*.f64 1/120 (/.f64 (pow.f64 ky 5) kx)) (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx)))))
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(*.f64 -1 (/.f64 (sin.f64 ky) kx))
(*.f64 -1 (/.f64 (sin.f64 ky) kx))
(*.f64 -1 (/.f64 (sin.f64 ky) kx))
(*.f64 -1 (/.f64 (sin.f64 ky) kx))
Outputs
kx
kx
kx
kx
kx
kx
kx
kx
(*.f64 -1 kx)
(neg.f64 kx)
(*.f64 -1 kx)
(neg.f64 kx)
(*.f64 -1 kx)
(neg.f64 kx)
(*.f64 -1 kx)
(neg.f64 kx)
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(/.f64 (sin.f64 th) (/.f64 kx ky))
(*.f64 (/.f64 (sin.f64 th) kx) ky)
(*.f64 ky (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 th) (/.f64 ky kx))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) kx) (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) kx)))
(+.f64 (/.f64 (sin.f64 th) (/.f64 kx ky)) (*.f64 -1/6 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 3)))))
(fma.f64 -1/6 (*.f64 (/.f64 (sin.f64 th) kx) (pow.f64 ky 3)) (*.f64 (/.f64 (sin.f64 th) kx) ky))
(fma.f64 -1/6 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 3))) (*.f64 ky (/.f64 (sin.f64 th) kx)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) ky))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(+.f64 (/.f64 (*.f64 (sin.f64 th) ky) kx) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) kx)) (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) kx))))
(+.f64 (/.f64 (sin.f64 th) (/.f64 kx ky)) (fma.f64 1/120 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 5))) (*.f64 -1/6 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 3))))))
(+.f64 (*.f64 (/.f64 (sin.f64 th) kx) ky) (fma.f64 -1/6 (*.f64 (/.f64 (sin.f64 th) kx) (pow.f64 ky 3)) (*.f64 1/120 (*.f64 (/.f64 (sin.f64 th) kx) (pow.f64 ky 5)))))
(fma.f64 1/120 (*.f64 (pow.f64 ky 5) (/.f64 (sin.f64 th) kx)) (fma.f64 -1/6 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 3))) (*.f64 ky (/.f64 (sin.f64 th) kx))))
(fma.f64 (/.f64 (sin.f64 th) kx) (*.f64 1/120 (pow.f64 ky 5)) (*.f64 (/.f64 (sin.f64 th) kx) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))) (*.f64 1/120 (pow.f64 ky 5))))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 1/120 (pow.f64 ky 5)))))
(+.f64 (*.f64 -1/5040 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 7)) kx)) (+.f64 (/.f64 (*.f64 (sin.f64 th) ky) kx) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) kx)) (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 th) (pow.f64 ky 3)) kx)))))
(fma.f64 -1/5040 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 7))) (+.f64 (/.f64 (sin.f64 th) (/.f64 kx ky)) (fma.f64 1/120 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 5))) (*.f64 -1/6 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 3)))))))
(+.f64 (fma.f64 -1/6 (*.f64 (/.f64 (sin.f64 th) kx) (pow.f64 ky 3)) (*.f64 1/120 (*.f64 (/.f64 (sin.f64 th) kx) (pow.f64 ky 5)))) (fma.f64 -1/5040 (*.f64 (/.f64 (sin.f64 th) kx) (pow.f64 ky 7)) (*.f64 (/.f64 (sin.f64 th) kx) ky)))
(fma.f64 (/.f64 (sin.f64 th) kx) ky (fma.f64 -1/5040 (*.f64 (pow.f64 ky 7) (/.f64 (sin.f64 th) kx)) (fma.f64 1/120 (*.f64 (pow.f64 ky 5) (/.f64 (sin.f64 th) kx)) (*.f64 -1/6 (/.f64 (sin.f64 th) (/.f64 kx (pow.f64 ky 3)))))))
(+.f64 (*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5)))) (*.f64 (/.f64 (sin.f64 th) kx) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 -1/5040 (pow.f64 ky 7)))))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (*.f64 1/120 (pow.f64 ky 5)))))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 1/120 (pow.f64 ky 5))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(neg.f64 (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) kx)
(*.f64 (/.f64 (sin.f64 th) kx) (neg.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) (neg.f64 (/.f64 (sin.f64 th) kx)))
(*.f64 (sin.f64 th) (/.f64 (neg.f64 (sin.f64 ky)) kx))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(neg.f64 (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) kx)
(*.f64 (/.f64 (sin.f64 th) kx) (neg.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) (neg.f64 (/.f64 (sin.f64 th) kx)))
(*.f64 (sin.f64 th) (/.f64 (neg.f64 (sin.f64 ky)) kx))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(neg.f64 (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) kx)
(*.f64 (/.f64 (sin.f64 th) kx) (neg.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) (neg.f64 (/.f64 (sin.f64 th) kx)))
(*.f64 (sin.f64 th) (/.f64 (neg.f64 (sin.f64 ky)) kx))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(neg.f64 (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))))
(/.f64 (*.f64 (neg.f64 (sin.f64 ky)) (sin.f64 th)) kx)
(*.f64 (/.f64 (sin.f64 th) kx) (neg.f64 (sin.f64 ky)))
(*.f64 (sin.f64 ky) (neg.f64 (/.f64 (sin.f64 th) kx)))
(*.f64 (sin.f64 th) (/.f64 (neg.f64 (sin.f64 ky)) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(/.f64 (sin.f64 ky) (/.f64 kx th))
(*.f64 (/.f64 (sin.f64 ky) kx) th)
(*.f64 (/.f64 th kx) (sin.f64 ky))
(*.f64 th (/.f64 (sin.f64 ky) kx))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) kx)) (/.f64 (*.f64 (sin.f64 ky) th) kx))
(fma.f64 -1/6 (/.f64 (sin.f64 ky) (/.f64 kx (pow.f64 th 3))) (/.f64 (sin.f64 ky) (/.f64 kx th)))
(fma.f64 -1/6 (*.f64 (/.f64 (sin.f64 ky) kx) (pow.f64 th 3)) (*.f64 (/.f64 (sin.f64 ky) kx) th))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 th 3) kx) (sin.f64 ky)) (*.f64 (/.f64 th kx) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) kx) (+.f64 th (*.f64 -1/6 (pow.f64 th 3))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) kx)) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) kx)) (/.f64 (*.f64 (sin.f64 ky) th) kx)))
(fma.f64 -1/6 (/.f64 (sin.f64 ky) (/.f64 kx (pow.f64 th 3))) (fma.f64 1/120 (/.f64 (sin.f64 ky) (/.f64 kx (pow.f64 th 5))) (/.f64 (sin.f64 ky) (/.f64 kx th))))
(fma.f64 -1/6 (*.f64 (/.f64 (sin.f64 ky) kx) (pow.f64 th 3)) (fma.f64 1/120 (/.f64 (pow.f64 th 5) (/.f64 kx (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 ky) kx) th)))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 th 3) kx) (sin.f64 ky)) (fma.f64 1/120 (*.f64 (/.f64 (pow.f64 th 5) kx) (sin.f64 ky)) (*.f64 (/.f64 th kx) (sin.f64 ky))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (/.f64 (pow.f64 th 3) kx)) (*.f64 (/.f64 (sin.f64 ky) kx) (+.f64 th (*.f64 1/120 (pow.f64 th 5)))))
(*.f64 (/.f64 (sin.f64 ky) kx) (+.f64 th (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5)))))
(+.f64 (*.f64 -1/5040 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 7)) kx)) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 3)) kx)) (+.f64 (*.f64 1/120 (/.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) kx)) (/.f64 (*.f64 (sin.f64 ky) th) kx))))
(fma.f64 -1/5040 (/.f64 (sin.f64 ky) (/.f64 kx (pow.f64 th 7))) (fma.f64 -1/6 (/.f64 (sin.f64 ky) (/.f64 kx (pow.f64 th 3))) (fma.f64 1/120 (/.f64 (sin.f64 ky) (/.f64 kx (pow.f64 th 5))) (/.f64 (sin.f64 ky) (/.f64 kx th)))))
(fma.f64 -1/5040 (*.f64 (/.f64 (sin.f64 ky) kx) (pow.f64 th 7)) (fma.f64 -1/6 (*.f64 (/.f64 (sin.f64 ky) kx) (pow.f64 th 3)) (fma.f64 1/120 (/.f64 (pow.f64 th 5) (/.f64 kx (sin.f64 ky))) (*.f64 (/.f64 (sin.f64 ky) kx) th))))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 th 3) kx) (sin.f64 ky)) (fma.f64 -1/5040 (*.f64 (/.f64 (pow.f64 th 7) kx) (sin.f64 ky)) (fma.f64 1/120 (*.f64 (/.f64 (pow.f64 th 5) kx) (sin.f64 ky)) (*.f64 (/.f64 th kx) (sin.f64 ky)))))
(+.f64 (*.f64 (/.f64 (sin.f64 ky) kx) (+.f64 th (*.f64 1/120 (pow.f64 th 5)))) (*.f64 (/.f64 (sin.f64 ky) kx) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 -1/5040 (pow.f64 th 7)))))
(*.f64 (/.f64 (sin.f64 ky) kx) (+.f64 (+.f64 th (*.f64 1/120 (pow.f64 th 5))) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (*.f64 -1/6 (pow.f64 th 3)))))
(*.f64 (/.f64 (sin.f64 ky) kx) (+.f64 th (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5))))))
(*.f64 (/.f64 (sin.f64 ky) kx) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (+.f64 th (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5))))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (sin.f64 ky))
(*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) kx))
(/.f64 ky kx)
(+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx)))
(fma.f64 -1/6 (/.f64 (pow.f64 ky 3) kx) (/.f64 ky kx))
(fma.f64 (/.f64 -1/6 kx) (pow.f64 ky 3) (/.f64 ky kx))
(+.f64 (*.f64 1/120 (/.f64 (pow.f64 ky 5) kx)) (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))))
(fma.f64 1/120 (/.f64 (pow.f64 ky 5) kx) (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))))
(fma.f64 1/120 (/.f64 (pow.f64 ky 5) kx) (fma.f64 -1/6 (/.f64 (pow.f64 ky 3) kx) (/.f64 ky kx)))
(fma.f64 -1/6 (/.f64 (pow.f64 ky 3) kx) (fma.f64 1/120 (/.f64 (pow.f64 ky 5) kx) (/.f64 ky kx)))
(fma.f64 -1/6 (/.f64 (pow.f64 ky 3) kx) (fma.f64 (/.f64 1/120 kx) (pow.f64 ky 5) (/.f64 ky kx)))
(+.f64 (*.f64 -1/5040 (/.f64 (pow.f64 ky 7) kx)) (+.f64 (*.f64 1/120 (/.f64 (pow.f64 ky 5) kx)) (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx)))))
(fma.f64 -1/5040 (/.f64 (pow.f64 ky 7) kx) (fma.f64 1/120 (/.f64 (pow.f64 ky 5) kx) (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx)))))
(fma.f64 -1/5040 (/.f64 (pow.f64 ky 7) kx) (fma.f64 1/120 (/.f64 (pow.f64 ky 5) kx) (fma.f64 -1/6 (/.f64 (pow.f64 ky 3) kx) (/.f64 ky kx))))
(fma.f64 1/120 (/.f64 (pow.f64 ky 5) kx) (fma.f64 -1/5040 (/.f64 (pow.f64 ky 7) kx) (fma.f64 -1/6 (/.f64 (pow.f64 ky 3) kx) (/.f64 ky kx))))
(fma.f64 -1/6 (/.f64 (pow.f64 ky 3) kx) (fma.f64 1/120 (/.f64 (pow.f64 ky 5) kx) (fma.f64 (/.f64 -1/5040 kx) (pow.f64 ky 7) (/.f64 ky kx))))
(fma.f64 -1/6 (/.f64 (pow.f64 ky 3) kx) (fma.f64 -1/5040 (/.f64 (pow.f64 ky 7) kx) (fma.f64 (/.f64 1/120 kx) (pow.f64 ky 5) (/.f64 ky kx))))
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(/.f64 (sin.f64 ky) kx)
(*.f64 -1 (/.f64 (sin.f64 ky) kx))
(neg.f64 (/.f64 (sin.f64 ky) kx))
(/.f64 (neg.f64 (sin.f64 ky)) kx)
(*.f64 -1 (/.f64 (sin.f64 ky) kx))
(neg.f64 (/.f64 (sin.f64 ky) kx))
(/.f64 (neg.f64 (sin.f64 ky)) kx)
(*.f64 -1 (/.f64 (sin.f64 ky) kx))
(neg.f64 (/.f64 (sin.f64 ky) kx))
(/.f64 (neg.f64 (sin.f64 ky)) kx)
(*.f64 -1 (/.f64 (sin.f64 ky) kx))
(neg.f64 (/.f64 (sin.f64 ky) kx))
(/.f64 (neg.f64 (sin.f64 ky)) kx)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))
0.2b
(*.f64 (sin.f64 th) (sin.f64 ky))
1.6b
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
1.9b
(-.f64 1 (cos.f64 (*.f64 kx 2)))
Compiler

Compiled 62 to 42 computations (32.3% saved)

series33.0ms (0.1%)

Counts
4 → 68
Calls

21 calls:

TimeVariablePointExpression
18.0ms
ky
@inf
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
2.0ms
ky
@0
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
1.0ms
kx
@0
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
1.0ms
kx
@inf
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
1.0ms
th
@inf
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))

rewrite116.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
752×log-prod_binary64
533×prod-diff_binary64
279×expm1-udef_binary64
278×log1p-udef_binary64
233×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01553
131553
2401153
Stop Event
node limit
Counts
4 → 120
Calls
Call 1
Inputs
(-.f64 1 (cos.f64 (*.f64 kx 2)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 th) (sin.f64 ky))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (cos.f64 (+.f64 kx kx))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 (cos.f64 (+.f64 kx kx))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (cos.f64 (+.f64 kx kx))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 (+.f64 kx kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (cbrt.f64 (exp.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (cos.f64 (+.f64 kx kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))) (pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 2) (cbrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))) (sqrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 3)) (/.f64 1 (fma.f64 (cos.f64 (+.f64 kx kx)) (+.f64 1 (cos.f64 (+.f64 kx kx))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 2)) (/.f64 1 (+.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (cos.f64 (+.f64 kx kx)) (+.f64 1 (cos.f64 (+.f64 kx kx))) 1) (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (cos.f64 (+.f64 kx kx))) (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 3)) (fma.f64 (cos.f64 (+.f64 kx kx)) (+.f64 1 (cos.f64 (+.f64 kx kx))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 2)) (+.f64 1 (cos.f64 (+.f64 kx kx))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 3))) (neg.f64 (fma.f64 (cos.f64 (+.f64 kx kx)) (+.f64 1 (cos.f64 (+.f64 kx kx))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 2))) (neg.f64 (+.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (neg.f64 (cos.f64 (+.f64 kx kx))) 3)) (+.f64 1 (-.f64 (*.f64 (neg.f64 (cos.f64 (+.f64 kx kx))) (neg.f64 (cos.f64 (+.f64 kx kx)))) (neg.f64 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (neg.f64 (cos.f64 (+.f64 kx kx))) (neg.f64 (cos.f64 (+.f64 kx kx))))) (-.f64 1 (neg.f64 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (neg.f64 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (neg.f64 (cos.f64 (+.f64 kx kx)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (cos.f64 (+.f64 kx kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2)) (neg.f64 (cbrt.f64 (cos.f64 (+.f64 kx kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 kx kx))) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 kx kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (cos.f64 (+.f64 kx kx)))) (cbrt.f64 (neg.f64 (cos.f64 (+.f64 kx kx))))) (cbrt.f64 (neg.f64 (cos.f64 (+.f64 kx kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (cos.f64 (+.f64 kx kx)))) (sqrt.f64 (neg.f64 (cos.f64 (+.f64 kx kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cos.f64 (+.f64 kx kx)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 kx kx)) 2))) (cbrt.f64 (cos.f64 (+.f64 kx kx))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 kx kx)))) (sqrt.f64 (cos.f64 (+.f64 kx kx))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))) (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 th) (sin.f64 ky)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 th) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 th) (sin.f64 ky))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 th) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))) (*.f64 (sqrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (sqrt.f64 2)) (*.f64 2 (sqrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sqrt.f64 2)) (sqrt.f64 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (*.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 3/2) (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) 3) (pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (sin.f64 th) (sin.f64 ky)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 th) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 th) (sin.f64 ky)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (cos.f64 (-.f64 th ky)) 2) (/.f64 (cos.f64 (+.f64 th ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 ky th)) (cos.f64 (+.f64 th ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 th)) (sin.f64 ky)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 th) (sin.f64 ky)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 th) 3) (pow.f64 (sin.f64 ky) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 ky) 3) (pow.f64 (sin.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 th) (sin.f64 ky))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 th) (sin.f64 ky))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (cbrt.f64 (exp.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (cbrt.f64 (/.f64 4 (pow.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 4 (pow.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 2))) (cbrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 1/4) (*.f64 (pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 1/4) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 1 (neg.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 1/4)) (pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 3))) (fma.f64 (cos.f64 (+.f64 kx kx)) (+.f64 1 (cos.f64 (+.f64 kx kx))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (-.f64 1 (pow.f64 (cos.f64 (+.f64 kx kx)) 2))) (+.f64 1 (cos.f64 (+.f64 kx kx))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) (cbrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) (cbrt.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 4 (pow.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1/2 (/.f64 (cos.f64 (+.f64 kx kx)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 4 (pow.f64 (-.f64 1 (cos.f64 (+.f64 kx kx))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx))))) 1))))))

simplify96.0ms (0.3%)

Algorithm
egg-herbie
Rules
799×fma-def_binary64
469×*-commutative_binary64
405×distribute-lft-out_binary64
387×associate-/l/_binary64
383×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01522097
14491980
214441796
342381706
479421706
Stop Event
node limit
Counts
188 → 179
Calls
Call 1
Inputs
(*.f64 2 (pow.f64 kx 2))
(+.f64 (*.f64 2 (pow.f64 kx 2)) (*.f64 -2/3 (pow.f64 kx 4)))
(+.f64 (*.f64 4/45 (pow.f64 kx 6)) (+.f64 (*.f64 2 (pow.f64 kx 2)) (*.f64 -2/3 (pow.f64 kx 4))))
(+.f64 (*.f64 -2/315 (pow.f64 kx 8)) (+.f64 (*.f64 4/45 (pow.f64 kx 6)) (+.f64 (*.f64 2 (pow.f64 kx 2)) (*.f64 -2/3 (pow.f64 kx 4)))))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))) kx)
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))) kx) (*.f64 1/12 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (sqrt.f64 1/2))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))) kx) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))) (sqrt.f64 1/2))) (*.f64 1/12 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (sqrt.f64 1/2)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 1/189 (*.f64 1/12 (/.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2)))) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 5))))) (sqrt.f64 1/2))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))) kx) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))) (sqrt.f64 1/2))) (*.f64 1/12 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (sqrt.f64 1/2))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) th)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) th)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))) (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) th)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 1/120 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) th)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 -1/5040 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))
(+.f64 (*.f64 1/120 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 5))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(+.f64 (*.f64 -1/5040 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 7))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 5))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sin.f64 ky) th)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sin.f64 ky) th))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (+.f64 (*.f64 (sin.f64 ky) th) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (+.f64 (*.f64 (sin.f64 ky) th) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5))))))
(*.f64 (sin.f64 th) ky)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky))
(+.f64 (*.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky)))
(+.f64 (*.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5))) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 th) (pow.f64 ky 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky))))
(/.f64 1 (pow.f64 kx 2))
(+.f64 1/3 (/.f64 1 (pow.f64 kx 2)))
(+.f64 1/3 (+.f64 (*.f64 1/15 (pow.f64 kx 2)) (/.f64 1 (pow.f64 kx 2))))
(+.f64 1/3 (+.f64 (*.f64 1/15 (pow.f64 kx 2)) (+.f64 (/.f64 1 (pow.f64 kx 2)) (*.f64 2/189 (pow.f64 kx 4)))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
Outputs
(*.f64 2 (pow.f64 kx 2))
(*.f64 2 (*.f64 kx kx))
(+.f64 (*.f64 2 (pow.f64 kx 2)) (*.f64 -2/3 (pow.f64 kx 4)))
(fma.f64 2 (*.f64 kx kx) (*.f64 -2/3 (pow.f64 kx 4)))
(fma.f64 -2/3 (pow.f64 kx 4) (*.f64 2 (*.f64 kx kx)))
(+.f64 (*.f64 4/45 (pow.f64 kx 6)) (+.f64 (*.f64 2 (pow.f64 kx 2)) (*.f64 -2/3 (pow.f64 kx 4))))
(fma.f64 4/45 (pow.f64 kx 6) (fma.f64 2 (*.f64 kx kx) (*.f64 -2/3 (pow.f64 kx 4))))
(fma.f64 4/45 (pow.f64 kx 6) (fma.f64 -2/3 (pow.f64 kx 4) (*.f64 2 (*.f64 kx kx))))
(fma.f64 2 (*.f64 kx kx) (fma.f64 -2/3 (pow.f64 kx 4) (*.f64 4/45 (pow.f64 kx 6))))
(+.f64 (*.f64 -2/315 (pow.f64 kx 8)) (+.f64 (*.f64 4/45 (pow.f64 kx 6)) (+.f64 (*.f64 2 (pow.f64 kx 2)) (*.f64 -2/3 (pow.f64 kx 4)))))
(fma.f64 -2/315 (pow.f64 kx 8) (fma.f64 4/45 (pow.f64 kx 6) (fma.f64 2 (*.f64 kx kx) (*.f64 -2/3 (pow.f64 kx 4)))))
(fma.f64 -2/315 (pow.f64 kx 8) (fma.f64 4/45 (pow.f64 kx 6) (fma.f64 -2/3 (pow.f64 kx 4) (*.f64 2 (*.f64 kx kx)))))
(fma.f64 -2/315 (pow.f64 kx 8) (fma.f64 2 (*.f64 kx kx) (fma.f64 -2/3 (pow.f64 kx 4) (*.f64 4/45 (pow.f64 kx 6)))))
(fma.f64 4/45 (pow.f64 kx 6) (fma.f64 -2/315 (pow.f64 kx 8) (fma.f64 -2/3 (pow.f64 kx 4) (*.f64 2 (*.f64 kx kx)))))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(-.f64 1 (cos.f64 (*.f64 2 kx)))
(/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))) kx)
(/.f64 (sqrt.f64 2) (/.f64 kx (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))))
(/.f64 (sqrt.f64 2) (/.f64 kx (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 1/2) (sin.f64 th)))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 1/2) (sin.f64 ky))) (/.f64 (sqrt.f64 2) kx))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))) kx) (*.f64 1/12 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (sqrt.f64 1/2))))
(+.f64 (/.f64 (sqrt.f64 2) (/.f64 kx (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky))))) (*.f64 1/12 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (*.f64 kx (sin.f64 ky)))))))
(fma.f64 1/12 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) kx))) (/.f64 (sqrt.f64 2) (/.f64 kx (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 1/2) (sin.f64 th))))))
(fma.f64 1/12 (/.f64 (*.f64 kx (sin.f64 th)) (/.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (sin.f64 ky))) (*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 1/2) (sin.f64 ky))) (/.f64 (sqrt.f64 2) kx)))
(fma.f64 1/12 (*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 kx (sin.f64 th))) (*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 1/2) (sin.f64 ky))) (/.f64 (sqrt.f64 2) kx)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))) kx) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))) (sqrt.f64 1/2))) (*.f64 1/12 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (sqrt.f64 1/2)))))
(+.f64 (/.f64 (sqrt.f64 2) (/.f64 kx (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky))))) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))) (sqrt.f64 1/2)) (*.f64 1/12 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (*.f64 kx (sin.f64 ky))))))))
(+.f64 (/.f64 (sqrt.f64 2) (/.f64 kx (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 1/2) (sin.f64 th))))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (pow.f64 kx 3))))) (*.f64 1/12 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) kx))))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2))) (/.f64 (/.f64 (/.f64 (sqrt.f64 1/2) (sin.f64 ky)) (sin.f64 th)) (pow.f64 kx 3))) (fma.f64 1/12 (/.f64 (*.f64 kx (sin.f64 th)) (/.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (sin.f64 ky))) (*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 1/2) (sin.f64 ky))) (/.f64 (sqrt.f64 2) kx))))
(fma.f64 1/12 (*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 kx (sin.f64 th))) (fma.f64 (/.f64 (sqrt.f64 2) kx) (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 1/2) (sin.f64 ky))) (/.f64 (sqrt.f64 2) (/.f64 (/.f64 (/.f64 (sqrt.f64 1/2) (sin.f64 th)) (*.f64 (sin.f64 ky) (pow.f64 kx 3))) 7/720))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 1/189 (*.f64 1/12 (/.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2)))) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 5))))) (sqrt.f64 1/2))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky)))) kx) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))) (sqrt.f64 1/2))) (*.f64 1/12 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) kx))) (sqrt.f64 1/2))))))
(fma.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (-.f64 1/189 (*.f64 1/12 (/.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (pow.f64 (sqrt.f64 1/2) 2)))) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 5)))))) (+.f64 (/.f64 (sqrt.f64 2) (/.f64 kx (*.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (sin.f64 ky))))) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 3))))) (sqrt.f64 1/2)) (*.f64 1/12 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (*.f64 (sin.f64 th) (*.f64 kx (sin.f64 ky)))))))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (sin.f64 th) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 kx 5)) (+.f64 1/189 (*.f64 (-.f64 1/15 (/.f64 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2) 1/2)) -1/12))))) (+.f64 (/.f64 (sqrt.f64 2) (/.f64 kx (*.f64 (sin.f64 ky) (*.f64 (sqrt.f64 1/2) (sin.f64 th))))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2)) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (pow.f64 kx 3))))) (*.f64 1/12 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) kx)))))))
(fma.f64 1/2 (*.f64 (*.f64 31/15120 (*.f64 (sin.f64 th) (*.f64 (sin.f64 ky) (pow.f64 kx 5)))) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 1/30 (pow.f64 (/.f64 1/12 (sqrt.f64 1/2)) 2))) (/.f64 (/.f64 (/.f64 (sqrt.f64 1/2) (sin.f64 ky)) (sin.f64 th)) (pow.f64 kx 3))) (fma.f64 1/12 (/.f64 (*.f64 kx (sin.f64 th)) (/.f64 (/.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (sin.f64 ky))) (*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 1/2) (sin.f64 ky))) (/.f64 (sqrt.f64 2) kx)))))
(+.f64 (fma.f64 1/12 (*.f64 (/.f64 (sin.f64 ky) (/.f64 (sqrt.f64 1/2) (sqrt.f64 2))) (*.f64 kx (sin.f64 th))) (*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 1/2) (sin.f64 ky))) (/.f64 (sqrt.f64 2) kx))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) 1/2) (sqrt.f64 1/2)) (+.f64 (*.f64 (sin.f64 th) (*.f64 7/360 (*.f64 (sin.f64 ky) (pow.f64 kx 3)))) (*.f64 (sin.f64 th) (*.f64 31/15120 (*.f64 (sin.f64 ky) (pow.f64 kx 5)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) th)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 th (sin.f64 ky))))
(*.f64 th (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (sin.f64 ky))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) th)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))) (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 th (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 th (sin.f64 ky))) (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (+.f64 th (*.f64 -1/6 (pow.f64 th 3))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) th)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 1/120 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 th (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 1/120 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))))
(fma.f64 (sqrt.f64 2) (*.f64 th (*.f64 (sin.f64 ky) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (*.f64 1/120 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 5)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 th (sin.f64 ky))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/6 (pow.f64 th 3)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (+.f64 th (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) th)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 5))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 -1/5040 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 7))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 th (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3)))) (fma.f64 1/120 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 5)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 -1/5040 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 ky) (pow.f64 th 7)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 th (sin.f64 ky))) (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 3)))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 1/120 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (pow.f64 th 5)))) (*.f64 (*.f64 (*.f64 -1/5040 (pow.f64 th 7)) (sin.f64 ky)) (sqrt.f64 2)))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (+.f64 th (*.f64 -1/6 (pow.f64 th 3))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/5040 (pow.f64 th 7)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (+.f64 (+.f64 th (*.f64 -1/6 (pow.f64 th 3))) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (*.f64 1/120 (pow.f64 th 5)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sin.f64 th) ky)))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))
(fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))))
(+.f64 (*.f64 1/120 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 5))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(fma.f64 1/120 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))))
(fma.f64 1/120 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (pow.f64 ky 5) (*.f64 (sqrt.f64 2) (sin.f64 th)))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 1/120 (pow.f64 ky 5)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (+.f64 ky (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 1/120 (pow.f64 ky 5)))))))
(+.f64 (*.f64 -1/5040 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 7))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 1/120 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 5))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx)))))))))
(fma.f64 -1/5040 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 7)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (fma.f64 1/120 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))) (fma.f64 -1/6 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) ky)) (*.f64 -1/6 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (pow.f64 ky 3)))))) (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (*.f64 (pow.f64 ky 7) (*.f64 (sin.f64 th) -1/5040)) (sqrt.f64 2)) (*.f64 1/120 (*.f64 (pow.f64 ky 5) (*.f64 (sqrt.f64 2) (sin.f64 th)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (+.f64 (*.f64 1/120 (pow.f64 ky 5)) (*.f64 -1/5040 (pow.f64 ky 7))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3)))))))
(*.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))) (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (+.f64 (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (*.f64 1/120 (pow.f64 ky 5)))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sin.f64 th) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sqrt.f64 2) (*.f64 (sin.f64 ky) (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))))
(*.f64 (*.f64 (sin.f64 th) (*.f64 (sqrt.f64 2) (sin.f64 ky))) (sqrt.f64 (/.f64 1 (-.f64 1 (cos.f64 (*.f64 2 kx))))))
(*.f64 (sin.f64 ky) th)
(*.f64 th (sin.f64 ky))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (*.f64 (sin.f64 ky) th))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (*.f64 th (sin.f64 ky)))
(*.f64 (sin.f64 ky) (+.f64 th (*.f64 -1/6 (pow.f64 th 3))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (+.f64 (*.f64 (sin.f64 ky) th) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5)))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (fma.f64 (sin.f64 ky) th (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5)))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (fma.f64 th (sin.f64 ky) (*.f64 (sin.f64 ky) (*.f64 (pow.f64 th 5) 1/120))))
(fma.f64 th (sin.f64 ky) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/6 (pow.f64 th 3)))))
(*.f64 (sin.f64 ky) (+.f64 th (+.f64 (*.f64 -1/6 (pow.f64 th 3)) (*.f64 1/120 (pow.f64 th 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3))) (+.f64 (*.f64 (sin.f64 ky) th) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 ky) (pow.f64 th 7))) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5))))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (fma.f64 (sin.f64 ky) th (fma.f64 -1/5040 (*.f64 (sin.f64 ky) (pow.f64 th 7)) (*.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5))))))
(fma.f64 -1/6 (*.f64 (sin.f64 ky) (pow.f64 th 3)) (fma.f64 th (sin.f64 ky) (fma.f64 1/120 (*.f64 (sin.f64 ky) (pow.f64 th 5)) (*.f64 (*.f64 -1/5040 (pow.f64 th 7)) (sin.f64 ky)))))
(+.f64 (*.f64 (sin.f64 ky) (+.f64 th (*.f64 -1/6 (pow.f64 th 3)))) (*.f64 (sin.f64 ky) (+.f64 (*.f64 1/120 (pow.f64 th 5)) (*.f64 -1/5040 (pow.f64 th 7)))))
(*.f64 (sin.f64 ky) (+.f64 (+.f64 th (*.f64 -1/6 (pow.f64 th 3))) (+.f64 (*.f64 -1/5040 (pow.f64 th 7)) (*.f64 1/120 (pow.f64 th 5)))))
(*.f64 (sin.f64 th) ky)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky))
(fma.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (*.f64 (sin.f64 th) ky))
(*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(+.f64 (*.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky)))
(fma.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (fma.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (*.f64 (sin.f64 th) ky)))
(fma.f64 (*.f64 (sin.f64 th) 1/120) (pow.f64 ky 5) (fma.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (*.f64 (sin.f64 th) ky)))
(fma.f64 (sin.f64 th) (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 (sin.f64 th) (+.f64 ky (*.f64 1/120 (pow.f64 ky 5)))))
(*.f64 (sin.f64 th) (+.f64 ky (+.f64 (*.f64 -1/6 (pow.f64 ky 3)) (*.f64 1/120 (pow.f64 ky 5)))))
(+.f64 (*.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5))) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 th) (pow.f64 ky 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3))) (*.f64 (sin.f64 th) ky))))
(fma.f64 1/120 (*.f64 (sin.f64 th) (pow.f64 ky 5)) (fma.f64 -1/5040 (*.f64 (sin.f64 th) (pow.f64 ky 7)) (fma.f64 -1/6 (*.f64 (sin.f64 th) (pow.f64 ky 3)) (*.f64 (sin.f64 th) ky))))
(+.f64 (*.f64 (sin.f64 th) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3)))) (*.f64 (sin.f64 th) (+.f64 (*.f64 1/120 (pow.f64 ky 5)) (*.f64 -1/5040 (pow.f64 ky 7)))))
(*.f64 (sin.f64 th) (+.f64 (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))) (+.f64 (*.f64 -1/5040 (pow.f64 ky 7)) (*.f64 1/120 (pow.f64 ky 5)))))
(/.f64 1 (pow.f64 kx 2))
(/.f64 1 (*.f64 kx kx))
(+.f64 1/3 (/.f64 1 (pow.f64 kx 2)))
(+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)
(+.f64 1/3 (+.f64 (*.f64 1/15 (pow.f64 kx 2)) (/.f64 1 (pow.f64 kx 2))))
(+.f64 1/3 (fma.f64 1/15 (*.f64 kx kx) (/.f64 1 (*.f64 kx kx))))
(+.f64 1/3 (fma.f64 (*.f64 kx kx) 1/15 (/.f64 1 (*.f64 kx kx))))
(+.f64 (/.f64 1 (*.f64 kx kx)) (fma.f64 kx (*.f64 kx 1/15) 1/3))
(+.f64 1/3 (+.f64 (*.f64 1/15 (pow.f64 kx 2)) (+.f64 (/.f64 1 (pow.f64 kx 2)) (*.f64 2/189 (pow.f64 kx 4)))))
(+.f64 1/3 (+.f64 (fma.f64 1/15 (*.f64 kx kx) (/.f64 1 (*.f64 kx kx))) (*.f64 (pow.f64 kx 4) 2/189)))
(+.f64 1/3 (fma.f64 (*.f64 kx kx) 1/15 (fma.f64 (pow.f64 kx 4) 2/189 (/.f64 1 (*.f64 kx kx)))))
(+.f64 1/3 (fma.f64 kx (*.f64 kx 1/15) (fma.f64 (pow.f64 kx 4) 2/189 (/.f64 1 (*.f64 kx kx)))))
(+.f64 1/3 (fma.f64 (pow.f64 kx 4) 2/189 (fma.f64 kx (*.f64 kx 1/15) (/.f64 1 (*.f64 kx kx)))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))
(/.f64 2 (-.f64 1 (cos.f64 (*.f64 2 kx))))

eval405.0ms (1.1%)

Compiler

Compiled 16147 to 8311 computations (48.5% saved)

prune223.0ms (0.6%)

Pruning

79 alts after pruning (70 fresh and 9 done)

PrunedKeptTotal
New70632738
Fresh113849
Picked101
Done3912
Total72179800
Error
0b
Counts
800 → 79
Alt Table
Click to see full alt table
StatusErrorProgram
47.6b
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
51.4b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 kx kx))) (*.f64 (sin.f64 th) (sin.f64 ky)))
0.4b
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 1 (sin.f64 ky)))
56.8b
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
0.2b
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
32.4b
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
0.3b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
53.1b
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
56.5b
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
52.7b
(log1p.f64 (fabs.f64 (expm1.f64 (sin.f64 th))))
14.7b
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky)) (sin.f64 th))
0.3b
(*.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)) (sin.f64 th))
47.6b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
53.1b
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
54.9b
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
56.6b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
56.5b
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
48.4b
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
48.4b
(log.f64 (exp.f64 (sin.f64 th)))
1.1b
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
49.4b
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
33.6b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
52.5b
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) th))
49.3b
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
53.5b
(-.f64 (*.f64 (sin.f64 (+.f64 1 th)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 1 th)) (sin.f64 1)))
54.1b
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
49.3b
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
0.3b
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))
0.3b
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
61.8b
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
57.4b
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
57.0b
(*.f64 (/.f64 (sin.f64 ky) (exp.f64 (log.f64 kx))) (sin.f64 th))
53.4b
(*.f64 (/.f64 ky kx) (sin.f64 th))
49.5b
(/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 th th)) (cos.f64 (+.f64 th th)))) (sqrt.f64 2))
48.4b
(-.f64 (+.f64 1 (sin.f64 th)) 1)
54.1b
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
0.5b
(/.f64 1 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))
56.9b
(*.f64 -1/6 (pow.f64 th 3))
32.7b
(/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
58.1b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
49.4b
(log1p.f64 (expm1.f64 (sin.f64 th)))
55.8b
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
49.7b
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 3))
15.1b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 ky ky))))))) (sin.f64 th))
57.5b
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) 2)
46.6b
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
49.3b
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
46.6b
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))))
47.6b
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
49.3b
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
53.4b
(/.f64 (*.f64 (sin.f64 th) ky) kx)
57.1b
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
0.4b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
58.1b
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
56.4b
th
52.3b
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
32.3b
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th)
48.0b
(log1p.f64 (expm1.f64 (sqrt.f64 (pow.f64 (sin.f64 th) 2))))
56.5b
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
49.9b
(fabs.f64 (sin.f64 th))
46.6b
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
55.7b
(*.f64 th (/.f64 (sin.f64 ky) kx))
56.9b
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
43.7b
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
46.6b
(*.f64 (*.f64 ky (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th))
49.6b
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
55.8b
(/.f64 (*.f64 (sin.f64 ky) th) kx)
47.5b
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky)))
49.5b
(*.f64 (sin.f64 ky) (*.f64 (-.f64 (+.f64 1 (/.f64 1 (sin.f64 ky))) 1) (sin.f64 th)))
57.4b
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
32.3b
(/.f64 th (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
53.1b
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
54.9b
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
49.4b
(sin.f64 th)
53.1b
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
58.5b
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (sqrt.f64 (*.f64 1/36 (*.f64 ky ky))) (/.f64 1 ky)) (sin.f64 th)))
57.5b
(exp.f64 (log.f64 (sin.f64 th)))
56.2b
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (pow.f64 kx 3) 1/3)) (sin.f64 th))
52.8b
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
Compiler

Compiled 1014 to 766 computations (24.5% saved)

regimes1.0s (2.7%)

Counts
126 → 1
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 kx kx))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (/.f64 (sin.f64 ky) kx)) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 th (sin.f64 ky)))
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))))
(*.f64 (*.f64 ky (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (-.f64 (+.f64 1 (/.f64 1 (sin.f64 ky))) 1) (sin.f64 th)))
(*.f64 (sin.f64 ky) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (sqrt.f64 (*.f64 1/36 (*.f64 ky ky))) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (sin.f64 th))
(log1p.f64 (fabs.f64 (expm1.f64 (sin.f64 th))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 th))) 3))
(*.f64 (/.f64 (sin.f64 ky) (exp.f64 (log.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th)
(/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 th (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (pow.f64 kx 3) 1/3)) (sin.f64 th))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 th th)) (cos.f64 (+.f64 th th)))) (sqrt.f64 2))
(*.f64 (fma.f64 -1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(-.f64 (*.f64 (sin.f64 (+.f64 1 th)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 1 th)) (sin.f64 1)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) 2)
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 3))
(log1p.f64 (expm1.f64 (sqrt.f64 (pow.f64 (sin.f64 th) 2))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) (cbrt.f64 (sin.f64 th)))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 kx) 2) -1/2) (sin.f64 ky)) (sin.f64 th))
(/.f64 (/.f64 (sin.f64 th) (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (/.f64 1 (sin.f64 ky)))
(/.f64 1 (/.f64 (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)) (sin.f64 th)))
(*.f64 (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 ky)) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))))
(/.f64 (sin.f64 th) (*.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (/.f64 1 (sin.f64 ky))))
(/.f64 1 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) (sin.f64 ky))))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 ky ky))))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (pow.f64 (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)) -1))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 ky) 2) (pow.f64 (sin.f64 kx) 2)))) (*.f64 (sin.f64 ky) th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 kx kx)))) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 (+.f64 1/2 (pow.f64 (sin.f64 ky) 2)) (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 ky)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 ky) (log.f64 (exp.f64 (sin.f64 th)))) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (log.f64 (exp.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx))))))
(*.f64 (sin.f64 ky) (/.f64 (log.f64 (exp.f64 (sin.f64 th))) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (sin.f64 ky) (/.f64 (pow.f64 (sqrt.f64 (sin.f64 th)) 2) (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (cbrt.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky))) 3)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
Outputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
Calls

11 calls:

135.0ms
kx
117.0ms
ky
110.0ms
(sin.f64 kx)
89.0ms
(sin.f64 th)
84.0ms
th
Results
ErrorSegmentsBranch
0.2b1kx
0.2b1ky
0.2b1th
0.2b1(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2)))) (sin.f64 th))
0.2b1(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
0.2b1(/.f64 (sin.f64 ky) (sqrt.f64 (+.f64 (pow.f64 (sin.f64 kx) 2) (pow.f64 (sin.f64 ky) 2))))
0.2b1(sin.f64 ky)
0.2b1(pow.f64 (sin.f64 kx) 2)
0.2b1(pow.f64 (sin.f64 kx) 2)
0.2b1(sin.f64 kx)
0.2b1(sin.f64 th)
Compiler

Compiled 1380 to 643 computations (53.4% saved)

regimes843.0ms (2.2%)

Counts
99 → 1
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 kx kx))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (/.f64 (sin.f64 ky) kx)) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 th (sin.f64 ky)))
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))))
(*.f64 (*.f64 ky (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (-.f64 (+.f64 1 (/.f64 1 (sin.f64 ky))) 1) (sin.f64 th)))
(*.f64 (sin.f64 ky) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (sqrt.f64 (*.f64 1/36 (*.f64 ky ky))) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (sin.f64 th))
(log1p.f64 (fabs.f64 (expm1.f64 (sin.f64 th))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 th))) 3))
(*.f64 (/.f64 (sin.f64 ky) (exp.f64 (log.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th)
(/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 th (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (pow.f64 kx 3) 1/3)) (sin.f64 th))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 th th)) (cos.f64 (+.f64 th th)))) (sqrt.f64 2))
(*.f64 (fma.f64 -1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(-.f64 (*.f64 (sin.f64 (+.f64 1 th)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 1 th)) (sin.f64 1)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) 2)
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 3))
(log1p.f64 (expm1.f64 (sqrt.f64 (pow.f64 (sin.f64 th) 2))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) (cbrt.f64 (sin.f64 th)))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
Outputs
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
Calls

6 calls:

165.0ms
(sin.f64 ky)
158.0ms
(sin.f64 kx)
129.0ms
ky
112.0ms
(sin.f64 th)
98.0ms
kx
Results
ErrorSegmentsBranch
0.3b1kx
0.3b1ky
0.3b1th
0.3b1(sin.f64 ky)
0.3b1(sin.f64 kx)
0.3b1(sin.f64 th)
Compiler

Compiled 929 to 458 computations (50.7% saved)

regimes2.8s (7.4%)

Counts
98 → 3
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 kx kx))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (/.f64 (sin.f64 ky) kx)) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 th (sin.f64 ky)))
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))))
(*.f64 (*.f64 ky (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (-.f64 (+.f64 1 (/.f64 1 (sin.f64 ky))) 1) (sin.f64 th)))
(*.f64 (sin.f64 ky) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (sqrt.f64 (*.f64 1/36 (*.f64 ky ky))) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (sin.f64 th))
(log1p.f64 (fabs.f64 (expm1.f64 (sin.f64 th))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 th))) 3))
(*.f64 (/.f64 (sin.f64 ky) (exp.f64 (log.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th)
(/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 (*.f64 (sin.f64 ky) th) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(/.f64 th (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 th (hypot.f64 (sin.f64 ky) (sin.f64 kx))))
(*.f64 (/.f64 (sin.f64 ky) (pow.f64 (pow.f64 kx 3) 1/3)) (sin.f64 th))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 (-.f64 th th)) (cos.f64 (+.f64 th th)))) (sqrt.f64 2))
(*.f64 (fma.f64 -1/2 (/.f64 kx (/.f64 (pow.f64 (sin.f64 ky) 2) kx)) 1) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(-.f64 (*.f64 (sin.f64 (+.f64 1 th)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 1 th)) (sin.f64 1)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) (sin.f64 th))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 th ky)) (cos.f64 (+.f64 th ky))) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (+.f64 kx kx)))))) 2)
(log1p.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 th))) 3))
(log1p.f64 (expm1.f64 (sqrt.f64 (pow.f64 (sin.f64 th) 2))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 th) 2)) (cbrt.f64 (sin.f64 th)))
Outputs
(/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th)
(/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))
Calls

9 calls:

671.0ms
(sin.f64 kx)
538.0ms
(sin.f64 kx)
488.0ms
kx
209.0ms
(sin.f64 ky)
208.0ms
(sin.f64 th)
Results
ErrorSegmentsBranch
23.6b10kx
16.4b3ky
15.5b3th
15.6b3(sin.f64 ky)
15.6b3(sin.f64 ky)
24.3b8(sin.f64 kx)
24.3b8(sin.f64 kx)
15.5b3(sin.f64 th)
15.5b3(sin.f64 th)
Compiler

Compiled 933 to 468 computations (49.8% saved)

bsearch292.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
146.0ms
0.0011350981318073547
3.791026289084695
145.0ms
-3.5527479179531057e-10
-7.448147681431207e-12
Compiler

Compiled 25 to 19 computations (24% saved)

regimes2.2s (5.8%)

Counts
84 → 7
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 kx kx))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (/.f64 (sin.f64 ky) kx)) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 th (sin.f64 ky)))
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))))
(*.f64 (*.f64 ky (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (-.f64 (+.f64 1 (/.f64 1 (sin.f64 ky))) 1) (sin.f64 th)))
(*.f64 (sin.f64 ky) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (sqrt.f64 (*.f64 1/36 (*.f64 ky ky))) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (sin.f64 th))
(log1p.f64 (fabs.f64 (expm1.f64 (sin.f64 th))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 th))) 3))
(*.f64 (/.f64 (sin.f64 ky) (exp.f64 (log.f64 kx))) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th)
Outputs
(fabs.f64 (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(sin.f64 th)
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
(sin.f64 th)
(*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th)
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
Calls

9 calls:

389.0ms
kx
296.0ms
th
280.0ms
(sin.f64 ky)
278.0ms
ky
272.0ms
(sin.f64 ky)
Results
ErrorSegmentsBranch
26.7b7kx
26.5b7ky
21.8b7th
25.5b7(sin.f64 ky)
25.5b7(sin.f64 ky)
27.8b4(sin.f64 kx)
27.8b4(sin.f64 kx)
23.7b3(sin.f64 th)
23.7b3(sin.f64 th)
Compiler

Compiled 766 to 378 computations (50.7% saved)

bsearch936.0ms (2.4%)

Algorithm
binary-search
Steps
TimeLeftRight
144.0ms
8.927690943893876e+21
7.203645819143779e+24
140.0ms
-515992601159.6631
-6144.301705172916
143.0ms
-1.2754234967578714e+25
-4721961888533454.0
143.0ms
-5.88964338125302e+39
-1.9312283851212702e+39
162.0ms
-1.5233437980199724e+108
-8.671478525090187e+105
202.0ms
-2.9142807725010324e+183
-7.661627951413284e+179
Compiler

Compiled 25 to 19 computations (24% saved)

regimes3.0s (7.7%)

Counts
83 → 7
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 kx kx))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (+.f64 (*.f64 1/6 (*.f64 (sin.f64 ky) kx)) (/.f64 (sin.f64 ky) kx)) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 th (sin.f64 ky)))
(*.f64 ky (*.f64 (sin.f64 th) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))))
(*.f64 (*.f64 ky (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (-.f64 (+.f64 1 (/.f64 1 (sin.f64 ky))) 1) (sin.f64 th)))
(*.f64 (sin.f64 ky) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 th) ky)) (/.f64 (sin.f64 th) ky)))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (sqrt.f64 (*.f64 1/36 (*.f64 ky ky))) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 kx)))))) ky) (sin.f64 th))
(log1p.f64 (fabs.f64 (expm1.f64 (sin.f64 th))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 th))) 3))
(*.f64 (/.f64 (sin.f64 ky) (exp.f64 (log.f64 kx))) (sin.f64 th))
Outputs
(fabs.f64 (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(sin.f64 th)
Calls

9 calls:

496.0ms
(sin.f64 th)
448.0ms
th
389.0ms
(sin.f64 ky)
386.0ms
ky
330.0ms
(sin.f64 th)
Results
ErrorSegmentsBranch
31.5b5kx
32.4b9ky
37.8b9th
29.7b7(sin.f64 ky)
29.7b7(sin.f64 ky)
30.2b4(sin.f64 kx)
30.2b4(sin.f64 kx)
38.6b7(sin.f64 th)
38.6b7(sin.f64 th)
Compiler

Compiled 756 to 375 computations (50.4% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.1380324250133693e-27
9.062401978189078e-24
0.0ms
1.0637390651923262e-170
4.458747481384666e-169
0.0ms
1.0768803751666297e-205
8.497922375895406e-198
0.0ms
3.213386256507344e-231
6.178489780922454e-222
0.0ms
-2.7262771663862534e-216
-1.855143280765254e-218
0.0ms
-1.5484289049918186e-33
-7.103061881514395e-36
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes2.8s (7.2%)

Counts
70 → 7
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 kx kx))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
Outputs
(fabs.f64 (sin.f64 th))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))
(sin.f64 th)
Calls

9 calls:

466.0ms
(sin.f64 th)
435.0ms
th
413.0ms
ky
335.0ms
(sin.f64 th)
327.0ms
(sin.f64 ky)
Results
ErrorSegmentsBranch
31.5b5kx
32.4b9ky
37.8b9th
29.7b7(sin.f64 ky)
29.7b7(sin.f64 ky)
30.2b4(sin.f64 kx)
30.2b4(sin.f64 kx)
38.6b7(sin.f64 th)
38.6b7(sin.f64 th)
Compiler

Compiled 589 to 280 computations (52.5% saved)

bsearch2.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.1380324250133693e-27
9.062401978189078e-24
0.0ms
1.5345293421921527e-113
9.03795642264102e-107
0.0ms
6.675284926545333e-185
8.601927690966487e-184
0.0ms
1.6323308227889383e-262
3.4187379405042183e-251
0.0ms
-2.7262771663862534e-216
-1.855143280765254e-218
1.0ms
-1.5484289049918186e-33
-7.103061881514395e-36
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes2.4s (6.3%)

Counts
69 → 7
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) (sin.f64 ky)))
(/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 ky))
(*.f64 (/.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (sqrt.f64 (*.f64 kx kx))) (sin.f64 th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) (sin.f64 th)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 kx kx))) (*.f64 (sin.f64 th) (sin.f64 ky)))
(*.f64 (sin.f64 ky) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (sin.f64 ky)))
(*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 ky) th))
Outputs
(fabs.f64 (sin.f64 th))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))
Calls

9 calls:

373.0ms
(sin.f64 ky)
334.0ms
ky
316.0ms
(sin.f64 ky)
285.0ms
kx
278.0ms
th
Results
ErrorSegmentsBranch
35.9b5kx
34.9b9ky
40.1b6th
31.9b7(sin.f64 ky)
31.9b7(sin.f64 ky)
34.3b4(sin.f64 kx)
34.3b4(sin.f64 kx)
40.3b5(sin.f64 th)
40.3b5(sin.f64 th)
Compiler

Compiled 575 to 271 computations (52.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.0406316010829404e-81
9.88718243789859e-79
0.0ms
9.03795642264102e-107
4.8124571928155285e-104
0.0ms
6.675284926545333e-185
8.601927690966487e-184
0.0ms
1.6323308227889383e-262
3.4187379405042183e-251
0.0ms
-1.1876286492412859e-189
-4.7809250081034154e-195
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes1.7s (4.4%)

Counts
57 → 7
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(sqrt.f64 (pow.f64 (sin.f64 th) 2))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(pow.f64 (cbrt.f64 (sin.f64 th)) 3)
(pow.f64 (sqrt.f64 (sin.f64 th)) 2)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 th))) 1)
(exp.f64 (log.f64 (*.f64 -1/6 (pow.f64 th 3))))
Outputs
(fabs.f64 (sin.f64 th))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(cbrt.f64 (pow.f64 (sin.f64 th) 3))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(sin.f64 th)
Calls

8 calls:

291.0ms
ky
280.0ms
(sin.f64 ky)
242.0ms
(sin.f64 ky)
227.0ms
th
209.0ms
(sin.f64 th)
Results
ErrorSegmentsBranch
38.4b4kx
34.9b9ky
43.2b7th
31.9b7(sin.f64 ky)
31.9b7(sin.f64 ky)
38.3b3(sin.f64 kx)
38.3b3(sin.f64 kx)
44.1b4(sin.f64 th)
Compiler

Compiled 455 to 229 computations (49.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.7729107370696237e-44
1.1729328420085895e-40
0.0ms
9.03795642264102e-107
4.8124571928155285e-104
0.0ms
6.675284926545333e-185
8.601927690966487e-184
0.0ms
1.6323308227889383e-262
3.4187379405042183e-251
0.0ms
-1.1876286492412859e-189
-4.7809250081034154e-195
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes1.6s (4.1%)

Counts
50 → 7
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(+.f64 (pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3) th)
(/.f64 1 (/.f64 kx (*.f64 (sin.f64 ky) (sin.f64 th))))
(*.f64 (sin.f64 ky) (*.f64 (*.f64 ky 1/6) (sin.f64 th)))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) kx))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 (sin.f64 ky)) th))
(*.f64 (sin.f64 ky) (*.f64 (/.f64 1 ky) (sin.f64 th)))
(*.f64 (neg.f64 (sin.f64 th)) (/.f64 1 (/.f64 (neg.f64 (sin.f64 kx)) ky)))
(*.f64 (/.f64 (sin.f64 th) kx) (+.f64 ky (*.f64 -1/6 (pow.f64 ky 3))))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (sin.f64 th)))
(*.f64 (+.f64 (/.f64 ky kx) (*.f64 -1/6 (/.f64 (pow.f64 ky 3) kx))) (sin.f64 th))
(*.f64 (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th)) (/.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th)))
(/.f64 1 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 th 3)) th) (-.f64 (*.f64 (pow.f64 th 6) 1/36) (*.f64 th th))))
(exp.f64 (log.f64 (sin.f64 th)))
(log.f64 (exp.f64 (sin.f64 th)))
(expm1.f64 (log1p.f64 (sin.f64 th)))
(log1p.f64 (expm1.f64 (sin.f64 th)))
(exp.f64 (log.f64 (sin.f64 th)))
Outputs
(fabs.f64 (sin.f64 th))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(sin.f64 th)
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(sin.f64 th)
Calls

8 calls:

367.0ms
th
321.0ms
ky
184.0ms
(sin.f64 ky)
178.0ms
(sin.f64 th)
176.0ms
(sin.f64 ky)
Results
ErrorSegmentsBranch
38.4b4kx
34.9b9ky
41.6b11th
31.9b7(sin.f64 ky)
31.9b7(sin.f64 ky)
38.3b3(sin.f64 kx)
38.3b3(sin.f64 kx)
43.7b6(sin.f64 th)
Compiler

Compiled 417 to 205 computations (50.8% saved)

bsearch2.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.7729107370696237e-44
1.1729328420085895e-40
0.0ms
9.03795642264102e-107
4.8124571928155285e-104
0.0ms
2.633036956570497e-142
9.88305332096495e-142
0.0ms
1.6323308227889383e-262
3.4187379405042183e-251
0.0ms
-1.1876286492412859e-189
-4.7809250081034154e-195
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes584.0ms (1.5%)

Counts
31 → 5
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(*.f64 (sin.f64 ky) (/.f64 th (sin.f64 ky)))
(*.f64 (/.f64 ky (sin.f64 kx)) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx)))
Outputs
(fabs.f64 (sin.f64 th))
(*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky)
(sin.f64 th)
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(sin.f64 th)
Calls

7 calls:

120.0ms
th
106.0ms
ky
103.0ms
(sin.f64 ky)
77.0ms
(sin.f64 th)
68.0ms
(sin.f64 ky)
Results
ErrorSegmentsBranch
40.4b3kx
36.3b7ky
42.6b8th
33.3b5(sin.f64 ky)
33.3b5(sin.f64 ky)
39.7b3(sin.f64 kx)
44.9b3(sin.f64 th)
Compiler

Compiled 234 to 107 computations (54.3% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.7729107370696237e-44
1.1729328420085895e-40
0.0ms
9.03795642264102e-107
4.8124571928155285e-104
0.0ms
2.633036956570497e-142
9.88305332096495e-142
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes496.0ms (1.3%)

Counts
26 → 5
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
Outputs
(fabs.f64 (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky))
(sin.f64 th)
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(sin.f64 th)
Calls

7 calls:

117.0ms
th
94.0ms
ky
71.0ms
(sin.f64 ky)
69.0ms
(sin.f64 ky)
51.0ms
(sin.f64 th)
Results
ErrorSegmentsBranch
40.4b3kx
36.3b7ky
42.6b8th
33.3b5(sin.f64 ky)
33.3b5(sin.f64 ky)
39.7b3(sin.f64 kx)
44.9b3(sin.f64 th)
Compiler

Compiled 199 to 100 computations (49.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.7729107370696237e-44
1.1729328420085895e-40
0.0ms
9.03795642264102e-107
4.8124571928155285e-104
0.0ms
2.633036956570497e-142
9.88305332096495e-142
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes644.0ms (1.7%)

Counts
25 → 5
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(log1p.f64 (fma.f64 th (*.f64 th 1/2) th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
(*.f64 (/.f64 (sin.f64 ky) kx) (sin.f64 th))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) kx))
(*.f64 (sin.f64 ky) (/.f64 (sin.f64 th) ky))
Outputs
(fabs.f64 (sin.f64 th))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(sin.f64 th)
(/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx))
(sin.f64 th)
Calls

7 calls:

194.0ms
th
117.0ms
(sin.f64 ky)
108.0ms
ky
82.0ms
(sin.f64 ky)
54.0ms
(sin.f64 th)
Results
ErrorSegmentsBranch
40.4b3kx
36.3b7ky
42.6b8th
33.3b5(sin.f64 ky)
33.3b5(sin.f64 ky)
39.7b3(sin.f64 kx)
44.9b3(sin.f64 th)
Compiler

Compiled 192 to 98 computations (49% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.7729107370696237e-44
1.1729328420085895e-40
0.0ms
9.03795642264102e-107
4.8124571928155285e-104
0.0ms
2.633036956570497e-142
9.88305332096495e-142
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes316.0ms (0.8%)

Counts
18 → 5
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
Outputs
(fabs.f64 (sin.f64 th))
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(sin.f64 th)
(/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th)))
(sin.f64 th)
Calls

7 calls:

76.0ms
th
59.0ms
ky
42.0ms
(sin.f64 ky)
42.0ms
(sin.f64 ky)
35.0ms
(sin.f64 th)
Results
ErrorSegmentsBranch
40.4b3kx
36.3b7ky
42.6b8th
33.3b5(sin.f64 ky)
33.3b5(sin.f64 ky)
39.7b3(sin.f64 kx)
44.9b3(sin.f64 th)
Compiler

Compiled 143 to 88 computations (38.5% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.7729107370696237e-44
1.1729328420085895e-40
0.0ms
9.03795642264102e-107
4.8124571928155285e-104
0.0ms
2.633036956570497e-142
9.88305332096495e-142
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes228.0ms (0.6%)

Counts
17 → 3
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
Outputs
(fabs.f64 (sin.f64 th))
(/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky)))
(sin.f64 th)
Calls

6 calls:

52.0ms
ky
42.0ms
(sin.f64 th)
42.0ms
(sin.f64 th)
33.0ms
(sin.f64 ky)
26.0ms
kx
Results
ErrorSegmentsBranch
43.8b3kx
39.5b6ky
46.0b3th
37.1b3(sin.f64 ky)
45.8b4(sin.f64 th)
45.8b4(sin.f64 th)
Compiler

Compiled 131 to 81 computations (38.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.458747481384666e-169
6.289709480634929e-165
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes247.0ms (0.6%)

Counts
16 → 3
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
(fabs.f64 (sin.f64 th))
(sqrt.f64 (*.f64 (pow.f64 th 6) 1/36))
(pow.f64 (*.f64 th (cbrt.f64 -1/6)) 3)
Outputs
(fabs.f64 (sin.f64 th))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(sin.f64 th)
Calls

7 calls:

49.0ms
ky
40.0ms
(sin.f64 th)
40.0ms
(sin.f64 th)
32.0ms
(sin.f64 ky)
32.0ms
(sin.f64 ky)
Results
ErrorSegmentsBranch
43.9b3kx
39.5b6ky
46.0b3th
37.1b3(sin.f64 ky)
37.1b3(sin.f64 ky)
45.8b4(sin.f64 th)
45.8b4(sin.f64 th)
Compiler

Compiled 129 to 83 computations (35.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.458747481384666e-169
6.289709480634929e-165
0.0ms
-1.9226312522329132e-77
-1.7242157678125685e-82
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes141.0ms (0.4%)

Counts
13 → 2
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(*.f64 th (/.f64 (sin.f64 ky) kx))
(/.f64 (*.f64 (sin.f64 ky) th) kx)
(-.f64 (+.f64 1 (sin.f64 th)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 th 3)) th)
(-.f64 (+.f64 1 (*.f64 -1/6 (pow.f64 th 3))) 1)
(*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) (*.f64 (sin.f64 ky) th))
(*.f64 (sin.f64 ky) (*.f64 (+.f64 (*.f64 1/6 ky) (/.f64 1 ky)) th))
Outputs
(/.f64 (*.f64 (sin.f64 th) ky) kx)
(sin.f64 th)
Calls

6 calls:

27.0ms
ky
24.0ms
(sin.f64 th)
22.0ms
(sin.f64 ky)
21.0ms
(sin.f64 ky)
21.0ms
th
Results
ErrorSegmentsBranch
43.9b3kx
42.0b3ky
47.1b2th
41.9b2(sin.f64 ky)
41.9b2(sin.f64 ky)
47.2b2(sin.f64 th)
Compiler

Compiled 109 to 68 computations (37.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.458747481384666e-169
6.289709480634929e-165
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes72.0ms (0.2%)

Counts
5 → 3
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(*.f64 (/.f64 ky kx) (sin.f64 th))
Outputs
(sin.f64 th)
(*.f64 (/.f64 ky kx) (sin.f64 th))
(sin.f64 th)
Calls

5 calls:

17.0ms
ky
14.0ms
th
13.0ms
(sin.f64 th)
13.0ms
kx
13.0ms
(sin.f64 th)
Results
ErrorSegmentsBranch
44.5b3kx
42.0b3ky
46.4b3th
46.4b3(sin.f64 th)
46.4b3(sin.f64 th)
Compiler

Compiled 40 to 27 computations (32.5% saved)

bsearch281.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
131.0ms
4.458747481384666e-169
6.289709480634929e-165
149.0ms
-269491158731.4664
-566474.4072146642
Compiler

Compiled 25 to 19 computations (24% saved)

regimes49.0ms (0.1%)

Counts
4 → 3
Calls
Call 1
Inputs
th
th
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
Outputs
(sin.f64 th)
(*.f64 -1/6 (pow.f64 th 3))
(sin.f64 th)
Calls

4 calls:

12.0ms
th
12.0ms
(sin.f64 th)
11.0ms
kx
11.0ms
ky
Results
ErrorSegmentsBranch
46.4b3kx
45.0b3ky
46.4b3th
46.4b3(sin.f64 th)
Compiler

Compiled 29 to 21 computations (27.6% saved)

bsearch268.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
123.0ms
4.458747481384666e-169
6.289709480634929e-165
146.0ms
-1.5936717305920108e-6
-2.773943459881387e-9
Compiler

Compiled 25 to 19 computations (24% saved)

regimes17.0ms (0%)

Counts
3 → 1
Calls
Call 1
Inputs
th
th
(sin.f64 th)
Outputs
(sin.f64 th)
Calls

4 calls:

5.0ms
th
4.0ms
(sin.f64 th)
3.0ms
ky
3.0ms
kx
Results
ErrorSegmentsBranch
49.4b1kx
49.4b1ky
49.4b1th
49.4b1(sin.f64 th)
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes10.0ms (0%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
th
th
Outputs
th
Calls

3 calls:

3.0ms
ky
3.0ms
kx
3.0ms
th
Results
ErrorSegmentsBranch
56.4b1kx
56.4b1ky
56.4b1th
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify51.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01661244
11841244
21891244
31921244
41931244
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
(if (<=.f64 th -6872013901753001/19342813113834066795298816) (/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.f64 th 2617358091999513/2305843009213693952) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th) (/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(if (<=.f64 th -2914280772501032395704997132665872827793277012196366771495019080543757435596520225755777010256475071615777196005484858497545279749900022274261089023747060761973935707626613777033592832) (fabs.f64 (sin.f64 th)) (if (<=.f64 th -1523343798019972443493840010966464815718772922930797889460639542687761477682572015539649549234023190449094656) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (if (<=.f64 th -5889643381253019763770600608503754129408) (sin.f64 th) (if (<=.f64 th -12754234967578713918537728) (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx)) (if (<=.f64 th -528376423587495/1024) (sin.f64 th) (if (<=.f64 th 8927690943893875982336) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))))))))
(if (<=.f64 (sin.f64 ky) -1461501637330903/1461501637330902918203684832716283019655932542976) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -1552518092300709/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (if (<=.f64 (sin.f64 ky) 8739899877464283/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 1129605583483287/5648027917416434993898217684409255726702707823703155049366803861725387660722396999811747841990459993941795730996567993156246593731756781895253106176973892212861592182965432241145264144985407055447514718957669060731469824) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (if (<=.f64 (sin.f64 ky) 5438853046443695/271942652322184754529069161754863937192751676276240344678115398758606622648756348282451201159797394262471336696958208519857448620878186106577674229128492724195241610667721328144244801536) (*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky))) (if (<=.f64 (sin.f64 ky) 1742245718635205/348449143727040986586495598010130648530944) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1461501637330903/1461501637330902918203684832716283019655932542976) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -1552518092300709/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 6931674235302037/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 1742245718635205/348449143727040986586495598010130648530944) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 5339967589802275/1067993517960455041197510853084776057301352261178326384973520803911109862890320275011481043468288) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 4249103942534137/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))) (sin.f64 th)))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 4249103942534137/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (*.f64 (/.f64 ky kx) (sin.f64 th)) (sin.f64 th)))
(if (<=.f64 (sin.f64 ky) 4249103942534137/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (/.f64 (*.f64 (sin.f64 th) ky) kx) (sin.f64 th))
(if (<=.f64 ky -8830686289312691/32768) (sin.f64 th) (if (<=.f64 ky 7578272600766295/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 (/.f64 ky kx) (sin.f64 th)) (sin.f64 th)))
(if (<=.f64 ky -7525901965244575/4722366482869645213696) (sin.f64 th) (if (<=.f64 ky 7578272600766295/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 -1/6 (pow.f64 th 3)) (sin.f64 th)))
(sin.f64 th)
th
Outputs
(/.f64 (sin.f64 th) (/.f64 (hypot.f64 (sin.f64 kx) (sin.f64 ky)) (sin.f64 ky)))
(/.f64 (sin.f64 ky) (/.f64 (hypot.f64 (sin.f64 ky) (sin.f64 kx)) (sin.f64 th)))
(if (<=.f64 th -6872013901753001/19342813113834066795298816) (/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.f64 th 2617358091999513/2305843009213693952) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th) (/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(if (<=.f64 th -6872013901753001/19342813113834066795298816) (/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) (if (<=.f64 th 2617358091999513/2305843009213693952) (*.f64 th (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (/.f64 (*.f64 (sin.f64 th) ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))))
(if (<=.f64 th -2914280772501032395704997132665872827793277012196366771495019080543757435596520225755777010256475071615777196005484858497545279749900022274261089023747060761973935707626613777033592832) (fabs.f64 (sin.f64 th)) (if (<=.f64 th -1523343798019972443493840010966464815718772922930797889460639542687761477682572015539649549234023190449094656) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (if (<=.f64 th -5889643381253019763770600608503754129408) (sin.f64 th) (if (<=.f64 th -12754234967578713918537728) (/.f64 (*.f64 (sin.f64 ky) (sin.f64 th)) (sin.f64 kx)) (if (<=.f64 th -528376423587495/1024) (sin.f64 th) (if (<=.f64 th 8927690943893875982336) (*.f64 (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx))) th) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky))))))))
(if (<=.f64 th -2914280772501032395704997132665872827793277012196366771495019080543757435596520225755777010256475071615777196005484858497545279749900022274261089023747060761973935707626613777033592832) (fabs.f64 (sin.f64 th)) (if (<=.f64 th -1523343798019972443493840010966464815718772922930797889460639542687761477682572015539649549234023190449094656) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (if (<=.f64 th -5889643381253019763770600608503754129408) (sin.f64 th) (if (<=.f64 th -12754234967578713918537728) (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 kx)) (if (<=.f64 th -528376423587495/1024) (sin.f64 th) (if (<=.f64 th 8927690943893875982336) (*.f64 th (/.f64 (sin.f64 ky) (hypot.f64 (sin.f64 ky) (sin.f64 kx)))) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))))))))))
(if (<=.f64 (sin.f64 ky) -1461501637330903/1461501637330902918203684832716283019655932542976) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -1552518092300709/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (if (<=.f64 (sin.f64 ky) 8739899877464283/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 1129605583483287/5648027917416434993898217684409255726702707823703155049366803861725387660722396999811747841990459993941795730996567993156246593731756781895253106176973892212861592182965432241145264144985407055447514718957669060731469824) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (if (<=.f64 (sin.f64 ky) 5438853046443695/271942652322184754529069161754863937192751676276240344678115398758606622648756348282451201159797394262471336696958208519857448620878186106577674229128492724195241610667721328144244801536) (*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky))) (if (<=.f64 (sin.f64 ky) 1742245718635205/348449143727040986586495598010130648530944) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1461501637330903/1461501637330902918203684832716283019655932542976) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -1552518092300709/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (if (<=.f64 (sin.f64 ky) 8739899877464283/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (neg.f64 kx))) (if (<=.f64 (sin.f64 ky) 1129605583483287/5648027917416434993898217684409255726702707823703155049366803861725387660722396999811747841990459993941795730996567993156246593731756781895253106176973892212861592182965432241145264144985407055447514718957669060731469824) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (if (<=.f64 (sin.f64 ky) 5438853046443695/271942652322184754529069161754863937192751676276240344678115398758606622648756348282451201159797394262471336696958208519857448620878186106577674229128492724195241610667721328144244801536) (*.f64 (sqrt.f64 (+.f64 (/.f64 1 (*.f64 kx kx)) 1/3)) (*.f64 (sin.f64 th) (sin.f64 ky))) (if (<=.f64 (sin.f64 ky) 1742245718635205/348449143727040986586495598010130648530944) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1461501637330903/1461501637330902918203684832716283019655932542976) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -1552518092300709/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 6931674235302037/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 1742245718635205/348449143727040986586495598010130648530944) (*.f64 (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2))))) (*.f64 (sin.f64 th) ky)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1461501637330903/1461501637330902918203684832716283019655932542976) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -1552518092300709/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (neg.f64 kx))) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 6931674235302037/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 1742245718635205/348449143727040986586495598010130648530944) (*.f64 (*.f64 (sin.f64 th) ky) (sqrt.f64 (/.f64 2 (-.f64 1 (cos.f64 (*.f64 kx 2)))))) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 5339967589802275/1067993517960455041197510853084776057301352261178326384973520803911109862890320275011481043468288) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (neg.f64 kx))) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 5339967589802275/1067993517960455041197510853084776057301352261178326384973520803911109862890320275011481043468288) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (/.f64 (*.f64 (sin.f64 th) (sin.f64 ky)) (sin.f64 ky))))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (neg.f64 kx))) (if (<=.f64 (sin.f64 ky) 3827252586451049/38272525864510487788655081260950309410329935801733327822136058989190002861848048793862592256319392263154317107227530633921701753935367770195646260767912323717284188541295913442384799112073398408183808) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (cbrt.f64 (pow.f64 (sin.f64 th) 3)) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (/.f64 (sin.f64 ky) (neg.f64 kx)) (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) -5016456510113119/5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082176) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 7090649168385425/35453245841927124566985666707751764300614838639721738315958305819414631299028500879887779104617985501046150297884773565541615134371397631354113354232368341106962462435900208328787956472260898038631420034941469125892347066566416742519309495457378818583775642048219297237962850304) (*.f64 (sin.f64 th) (/.f64 (sin.f64 ky) (neg.f64 kx))) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx))) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (*.f64 (/.f64 (sin.f64 th) (sin.f64 kx)) ky) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (*.f64 ky (/.f64 (sin.f64 th) (sin.f64 kx))) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (/.f64 (sin.f64 th) (/.f64 (sin.f64 kx) ky)) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 (*.f64 (sin.f64 th) ky) (sin.f64 kx)) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 3432398830065305/6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057152) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (if (<=.f64 (sin.f64 ky) 8263199609878107/82631996098781074868989413504096379978550585370535152410581099409300723904538918228148651304964410605948901503127919788032) (sin.f64 th) (if (<=.f64 (sin.f64 ky) 8034690221294951/401734511064747568885490523085290650630550748445698208825344) (/.f64 ky (/.f64 (sin.f64 kx) (sin.f64 th))) (sin.f64 th)))))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 4249103942534137/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (/.f64 (sin.f64 th) (/.f64 kx (sin.f64 ky))) (sin.f64 th)))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 4249103942534137/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (*.f64 (/.f64 ky kx) (sin.f64 th)) (sin.f64 th)))
(if (<=.f64 (sin.f64 ky) -1303703024854071/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (fabs.f64 (sin.f64 th)) (if (<=.f64 (sin.f64 ky) 4249103942534137/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (*.f64 (sin.f64 th) (/.f64 ky kx)) (sin.f64 th)))
(if (<=.f64 (sin.f64 ky) 4249103942534137/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (/.f64 (*.f64 (sin.f64 th) ky) kx) (sin.f64 th))
(if (<=.f64 ky -8830686289312691/32768) (sin.f64 th) (if (<=.f64 ky 7578272600766295/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 (/.f64 ky kx) (sin.f64 th)) (sin.f64 th)))
(if (<=.f64 ky -8830686289312691/32768) (sin.f64 th) (if (<=.f64 ky 7578272600766295/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 (sin.f64 th) (/.f64 ky kx)) (sin.f64 th)))
(if (<=.f64 ky -7525901965244575/4722366482869645213696) (sin.f64 th) (if (<=.f64 ky 7578272600766295/16996415770136547158066822609678996074546979767265021542382212422412913915547271767653200072487337141404458543559888032491090538804886631661104639320530795262202600666732583009015300096) (*.f64 -1/6 (pow.f64 th 3)) (sin.f64 th)))
(sin.f64 th)
th
Compiler

Compiled 847 to 470 computations (44.5% saved)

soundness0.0ms (0%)

end238.0ms (0.6%)

Compiler

Compiled 790 to 307 computations (61.1% saved)

Profiling

Loading profile data...