rsin A (should all be same)

Time bar (total: 8.4s)

start0.0ms (0%)

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

analyze312.0ms (3.7%)

Memory
-13.5MiB live, 451.0MiB allocated; 115ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
12.5%12.5%87.4%0.1%0%0%0%8
18.8%18.7%81.1%0.1%0%0%0%9
21.9%21.8%78%0.1%0%0%0%10
21.9%21.8%78%0.1%0%0%0%11
23.4%23.4%76.5%0.1%0%0%0%12
Compiler

Compiled 11 to 10 computations (9.1% saved)

sample1.7s (20.2%)

Memory
42.1MiB live, 1 826.8MiB allocated; 386ms collecting garbage
Samples
1.1s5 973×1valid
226.0ms2 283×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.0s
ival-cos: 301.0ms (28.8% of total)
ival-sin: 235.0ms (22.5% of total)
adjust: 202.0ms (19.3% of total)
ival-mult: 125.0ms (12% of total)
ival-add: 102.0ms (9.8% of total)
ival-div: 69.0ms (6.6% of total)
ival-true: 7.0ms (0.7% of total)
ival-assert: 4.0ms (0.4% of total)
Bogosity

explain165.0ms (2%)

Memory
25.7MiB live, 173.3MiB allocated; 17ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
62127(-1.2423408803333527e+278 -6.171822344168429e+63 3.435652740208975e-46)0-(cos.f64 (+.f64 a b))
00-0-(+.f64 a b)
00-0-(sin.f64 b)
00-0-a
00-0-(*.f64 r (sin.f64 b))
00-0-r
00-0-b
00-0-(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.f64(cos.f64 (+.f64 a b))sensitivity1890
Confusion
Predicted +Predicted -
+620
-12767
Precision
0.328042328042328
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6200
-127067
Precision?
0.328042328042328
Recall?
1.0
Freqs
test
numberfreq
067
1189
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
70.0ms372×1valid
43.0ms140×0valid
Compiler

Compiled 63 to 28 computations (55.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 88.0ms
ival-add: 39.0ms (44.5% of total)
ival-cos: 20.0ms (22.8% of total)
ival-sin: 11.0ms (12.6% of total)
adjust: 9.0ms (10.3% of total)
ival-div: 4.0ms (4.6% of total)
ival-mult: 4.0ms (4.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess130.0ms (1.6%)

Memory
2.5MiB live, 99.1MiB allocated; 19ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03790
110188
225088
357188
4100488
5198988
6400288
7738388
089
0139
1249
2429
3649
4769
5789
6929
71259
82309
95709
1015119
1133279
1267529
080249
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
Symmetry

(negabs r)

Compiler

Compiled 9 to 8 computations (11.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.0%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify84.0ms (1%)

Memory
1.3MiB live, 85.7MiB allocated; 17ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 (+.f64 a b))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0825
01325
12425
24225
36425
47625
57825
69225
712525
823025
957025
10151125
11332725
12675225
0802425
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(cos.f64 (+.f64 a b))
(+.f64 a b)
a
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(cos.f64 (+.f64 a b))
(+.f64 a b)
a

localize378.0ms (4.5%)

Memory
-69.7MiB live, 84.3MiB allocated; 742ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sin.f64 b)
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
accuracy13.300069647018017
(cos.f64 (+.f64 a b))
Samples
335.0ms186×1valid
25.0ms70×0valid
Compiler

Compiled 27 to 10 computations (63% saved)

Precisions
Click to see histograms. Total time spent on operations: 348.0ms
ival-sin: 309.0ms (88.7% of total)
ival-cos: 28.0ms (8% of total)
adjust: 5.0ms (1.4% of total)
ival-add: 2.0ms (0.6% of total)
ival-div: 2.0ms (0.6% of total)
ival-mult: 2.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series13.0ms (0.2%)

Memory
21.2MiB live, 21.2MiB allocated; 0ms collecting garbage
Counts
4 → 32
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(cos.f64 (+.f64 a b))
Outputs
(/ (* r (sin b)) (cos (+ a b)))
(* r (sin b))
(/ (* r (sin b)) (cos b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(cos b)
(+ (cos b) (* -1 (* a (sin b))))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(cos (+ a b))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(cos (- b (* -1 a)))
(/ (* b r) (cos a))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b r)
(* b (+ r (* -1/6 (* (pow b 2) r))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(cos a)
(+ (cos a) (* -1 (* b (sin a))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(sin b)
(/ (* r (sin b)) (cos (- a (* -1 b))))
(cos (- a (* -1 b)))
Calls

9 calls:

TimeVariablePointExpression
2.0ms
r
@0
((/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (sin b) (cos (+ a b)))
2.0ms
a
@0
((/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (sin b) (cos (+ a b)))
2.0ms
r
@inf
((/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (sin b) (cos (+ a b)))
2.0ms
b
@0
((/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (sin b) (cos (+ a b)))
2.0ms
r
@-inf
((/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (sin b) (cos (+ a b)))

simplify196.0ms (2.3%)

Memory
-20.8MiB live, 210.4MiB allocated; 53ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0167593
1569562
22016518
37405515
09145482
Stop Event
iter limit
node limit
Counts
32 → 31
Calls
Call 1
Inputs
(/ (* r (sin b)) (cos (+ a b)))
(* r (sin b))
(/ (* r (sin b)) (cos b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(cos b)
(+ (cos b) (* -1 (* a (sin b))))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(cos (+ a b))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(cos (- b (* -1 a)))
(/ (* b r) (cos a))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b r)
(* b (+ r (* -1/6 (* (pow b 2) r))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(cos a)
(+ (cos a) (* -1 (* b (sin a))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(sin b)
(/ (* r (sin b)) (cos (- a (* -1 b))))
(cos (- a (* -1 b)))
Outputs
(/ (* r (sin b)) (cos (+ a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(* r (sin b))
(*.f64 (sin.f64 b) r)
(/ (* r (sin b)) (cos b))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(/.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) a) (/.f64 r (cos.f64 b)) (*.f64 (sin.f64 b) r)) (cos.f64 b))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(fma.f64 (/.f64 r (cos.f64 b)) (sin.f64 b) (*.f64 (fma.f64 (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 a) (*.f64 r (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal -1/2 binary64) (pow.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 b))) #s(literal 3 binary64)))))) a))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(fma.f64 (/.f64 r (cos.f64 b)) (sin.f64 b) (*.f64 (fma.f64 (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (fma.f64 (neg.f64 a) (/.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (/.f64 r (cos.f64 b))) #s(literal -1/3 binary64) (*.f64 (*.f64 r (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal -1/2 binary64) (pow.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 b))) #s(literal 3 binary64)))) (sin.f64 b))) (cos.f64 b)) (neg.f64 (*.f64 r (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal -1/2 binary64) (pow.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 b))) #s(literal 3 binary64)))))) a)) a))
(cos b)
(cos.f64 b)
(+ (cos b) (* -1 (* a (sin b))))
(fma.f64 (neg.f64 (sin.f64 b)) a (cos.f64 b))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 b)) a) (sin.f64 b)) a (cos.f64 b))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 b) a) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) a) (sin.f64 b)) a (cos.f64 b))
(cos (+ a b))
(cos.f64 (+.f64 a b))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(cos (- b (* -1 a)))
(cos.f64 (+.f64 a b))
(/ (* b r) (cos a))
(*.f64 (/.f64 r (cos.f64 a)) b)
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(*.f64 (/.f64 (fma.f64 (/.f64 b (cos.f64 a)) (*.f64 (sin.f64 a) r) r) (cos.f64 a)) b)
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64) (*.f64 (/.f64 r (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64)))) b) b (/.f64 (fma.f64 (/.f64 b (cos.f64 a)) (*.f64 (sin.f64 a) r) r) (cos.f64 a))) b)
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(*.f64 (fma.f64 (*.f64 (fma.f64 (neg.f64 b) (/.f64 (fma.f64 (neg.f64 (sin.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64) (*.f64 (/.f64 r (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64)))) (/.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 (sin.f64 a) r)) (cos.f64 a))) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64) (*.f64 (/.f64 r (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64))))) b) b (/.f64 (fma.f64 (/.f64 b (cos.f64 a)) (*.f64 (sin.f64 a) r) r) (cos.f64 a))) b)
(* b r)
(*.f64 b r)
(* b (+ r (* -1/6 (* (pow b 2) r))))
(*.f64 r (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) r) (*.f64 b b) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b r))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) b)
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (pow.f64 b #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64))) b)
(cos a)
(cos.f64 a)
(+ (cos a) (* -1 (* b (sin a))))
(fma.f64 (neg.f64 (sin.f64 a)) b (cos.f64 a))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 a) b) #s(literal 1/6 binary64) (*.f64 (cos.f64 a) #s(literal -1/2 binary64))) b) (sin.f64 a)) b (cos.f64 a))
(sin b)
(sin.f64 b)
(/ (* r (sin b)) (cos (- a (* -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(cos (- a (* -1 b)))
(cos.f64 (+.f64 a b))

rewrite177.0ms (2.1%)

Memory
27.4MiB live, 262.5MiB allocated; 38ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
01319
14619
226619
3285319
0828619
Stop Event
iter limit
node limit
iter limit
Counts
4 → 155
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(cos.f64 (+.f64 a b))
Outputs
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
(*.f64 (neg.f64 r) (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 a b)))))
(*.f64 (neg.f64 (sin.f64 b)) (/.f64 r (neg.f64 (cos.f64 (+.f64 a b)))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 a b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(neg.f64 (*.f64 (neg.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))))
(*.f64 (neg.f64 (neg.f64 r)) (sin.f64 b))
(*.f64 (neg.f64 (neg.f64 (sin.f64 b))) r)
(*.f64 (neg.f64 r) (neg.f64 (sin.f64 b)))
(*.f64 (neg.f64 (sin.f64 b)) (neg.f64 r))
(*.f64 (sin.f64 b) (neg.f64 (neg.f64 r)))
(*.f64 (sin.f64 b) r)
(*.f64 r (neg.f64 (neg.f64 (sin.f64 b))))
(*.f64 r (sin.f64 b))
(neg.f64 (*.f64 (neg.f64 r) (sin.f64 b)))
(sin.f64 b)
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b)))) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))) (sin.f64 (-.f64 (+.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (pow.f64 (sin.f64 (+.f64 a b)) #s(literal 3 binary64)) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 (+.f64 a b)) #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (-.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(/.f64 (neg.f64 (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (neg.f64 (cos.f64 (-.f64 b a))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))) (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))) (cos.f64 (-.f64 b a)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(neg.f64 (neg.f64 (cos.f64 (+.f64 a b))))
(fma.f64 (cos.f64 (/.f64 (*.f64 b b) (-.f64 b a))) (cos.f64 (/.f64 (*.f64 a a) (-.f64 b a))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (-.f64 b a))) (sin.f64 (/.f64 (*.f64 a a) (-.f64 b a)))))
(fma.f64 (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (*.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))))
(fma.f64 (sin.f64 (/.f64 (pow.f64 (+.f64 a b) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 a b)) (pow.f64 (+.f64 a b) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 a b)) (pow.f64 (+.f64 a b) #s(literal 2 binary64))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 a b) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 a b)) (pow.f64 (+.f64 a b) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 a b)) (pow.f64 (+.f64 a b) #s(literal 2 binary64)))))))
(fma.f64 (sin.f64 (/.f64 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) #s(literal 2 binary64))) (*.f64 (-.f64 a b) #s(literal 2 binary64)))) (cos.f64 (/.f64 (*.f64 (-.f64 a b) (PI.f64)) (*.f64 (-.f64 a b) #s(literal 2 binary64)))) (*.f64 (cos.f64 (/.f64 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) #s(literal 2 binary64))) (*.f64 (-.f64 a b) #s(literal 2 binary64)))) (sin.f64 (/.f64 (*.f64 (-.f64 a b) (PI.f64)) (*.f64 (-.f64 a b) #s(literal 2 binary64))))))
(fma.f64 (sin.f64 (/.f64 (*.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) #s(literal 2 binary64)) (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) #s(literal 2 binary64)))) (cos.f64 (/.f64 (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) (PI.f64)) (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) #s(literal 2 binary64)))) (*.f64 (cos.f64 (/.f64 (*.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) #s(literal 2 binary64)) (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) (PI.f64)) (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) #s(literal 2 binary64))))))
(fma.f64 (cos.f64 (/.f64 (*.f64 a a) (neg.f64 (-.f64 a b)))) (cos.f64 (/.f64 (*.f64 b b) (neg.f64 (-.f64 a b)))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (neg.f64 (-.f64 a b)))) (sin.f64 (/.f64 (*.f64 b b) (neg.f64 (-.f64 a b))))))
(fma.f64 (cos.f64 (*.f64 a (/.f64 a (-.f64 a b)))) (cos.f64 (*.f64 b (/.f64 b (-.f64 a b)))) (*.f64 (sin.f64 (*.f64 a (/.f64 a (-.f64 a b)))) (sin.f64 (*.f64 b (/.f64 b (-.f64 a b))))))
(fma.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (cos.f64 (+.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))) (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))))
(fma.f64 (neg.f64 (sin.f64 (+.f64 a b))) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (neg.f64 (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (neg.f64 (sin.f64 a))) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 (+.f64 a b)))))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(fma.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b)) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(fma.f64 (sin.f64 (+.f64 a b)) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(fma.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal -1 binary64) (*.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 (PI.f64) (+.f64 a b)))) #s(literal 0 binary64)))
(fma.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal -1 binary64) (*.f64 (neg.f64 (sin.f64 (+.f64 a b))) #s(literal 0 binary64)))
(fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 (+.f64 a b)))))
(fma.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
(sin.f64 (neg.f64 (neg.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))))
(sin.f64 (neg.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64))))
(sin.f64 (neg.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (neg.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (neg.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64)))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (PI.f64)) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 (PI.f64) (+.f64 a b))) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (neg.f64 a) b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 b (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (neg.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))))
(sin.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 (PI.f64) (+.f64 a b)))))
(sin.f64 (+.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 (PI.f64) (+.f64 a b))) (PI.f64)))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (neg.f64 a)))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (neg.f64 b)))
(sin.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(-.f64 (*.f64 (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (*.f64 a (/.f64 a (-.f64 a b))))) (cos.f64 (*.f64 b (/.f64 b (-.f64 a b))))) (*.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (*.f64 a (/.f64 a (-.f64 a b))))) (sin.f64 (*.f64 b (/.f64 b (-.f64 a b))))))
(-.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 (+.f64 a b) #s(literal 2 binary64)) (-.f64 (+.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (+.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 a b) #s(literal 2 binary64)) (-.f64 (+.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (+.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64)))))))
(-.f64 (*.f64 (sin.f64 (*.f64 a (/.f64 a (-.f64 a b)))) (cos.f64 (-.f64 (*.f64 b (/.f64 b (-.f64 a b))) (/.f64 (PI.f64) #s(literal 2 binary64))))) (*.f64 (cos.f64 (*.f64 a (/.f64 a (-.f64 a b)))) (sin.f64 (-.f64 (*.f64 b (/.f64 b (-.f64 a b))) (/.f64 (PI.f64) #s(literal 2 binary64))))))
(-.f64 (*.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 (PI.f64) (+.f64 a b)))) #s(literal 0 binary64)) (*.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal 1 binary64)))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (neg.f64 (fma.f64 (-.f64 b a) b (*.f64 a a))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (neg.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)))))) (*.f64 (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (neg.f64 (fma.f64 (-.f64 b a) b (*.f64 a a))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (neg.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)))))))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (neg.f64 (fma.f64 (-.f64 b a) b (*.f64 a a))))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (neg.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)))))) (*.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (neg.f64 (fma.f64 (-.f64 b a) b (*.f64 a a))))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (neg.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)))))))
(-.f64 (*.f64 (cos.f64 (/.f64 (*.f64 a a) (neg.f64 (-.f64 a b)))) (cos.f64 (*.f64 b (/.f64 b (-.f64 a b))))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (neg.f64 (-.f64 a b)))) (sin.f64 (*.f64 b (/.f64 b (-.f64 a b))))))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (*.f64 (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))))
(-.f64 (*.f64 (cos.f64 (*.f64 a (/.f64 a (-.f64 a b)))) (cos.f64 (/.f64 (*.f64 (neg.f64 b) b) (-.f64 a b)))) (*.f64 (sin.f64 (*.f64 a (/.f64 a (-.f64 a b)))) (sin.f64 (/.f64 (*.f64 (neg.f64 b) b) (-.f64 a b)))))
(-.f64 (*.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal -1 binary64)) (*.f64 (sin.f64 (+.f64 (neg.f64 (+.f64 a b)) (PI.f64))) #s(literal 0 binary64)))
(-.f64 (*.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal -1 binary64)) (*.f64 (sin.f64 (+.f64 (PI.f64) (+.f64 a b))) #s(literal 0 binary64)))
(-.f64 (*.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal -1 binary64)) (*.f64 (neg.f64 (sin.f64 (+.f64 a b))) #s(literal 0 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (cos.f64 (-.f64 b a))) (/.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (cos.f64 (-.f64 b a))))
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (*.f64 (sin.f64 (neg.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (sin.f64 (neg.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))))))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (*.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))))
(-.f64 (*.f64 (neg.f64 (sin.f64 (+.f64 a b))) #s(literal 0 binary64)) (*.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal 1 binary64)))
(-.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal 1 binary64)))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (neg.f64 (sin.f64 b))) (neg.f64 (neg.f64 (sin.f64 a)))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (neg.f64 (sin.f64 a))) (neg.f64 (neg.f64 (sin.f64 b)))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b)))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (PI.f64)) (PI.f64))))
(cos.f64 (neg.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (PI.f64))))
(cos.f64 (neg.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64))))
(cos.f64 (neg.f64 (+.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 (PI.f64) (+.f64 a b))) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 a) b)))
(cos.f64 (neg.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 b) a)))
(cos.f64 (neg.f64 (-.f64 b (neg.f64 a))))
(cos.f64 (+.f64 (neg.f64 (+.f64 (neg.f64 (+.f64 a b)) (PI.f64))) (PI.f64)))
(cos.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) (+.f64 a b))) (PI.f64)))
(cos.f64 (+.f64 (neg.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(cos.f64 (+.f64 (neg.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64)))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (neg.f64 (+.f64 a b)) (PI.f64)) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(cos.f64 (+.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 (PI.f64) (+.f64 a b))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (-.f64 (neg.f64 b) a))
(cos.f64 (-.f64 b (neg.f64 a)))
(cos.f64 (-.f64 (neg.f64 a) b))
(cos.f64 (neg.f64 (+.f64 a b)))
(cos.f64 (+.f64 a b))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 a a) (neg.f64 (-.f64 a b)))) (cos.f64 (/.f64 (*.f64 b b) (neg.f64 (-.f64 a b))))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (neg.f64 (-.f64 a b)))) (sin.f64 (/.f64 (*.f64 b b) (neg.f64 (-.f64 a b))))))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 b b) (-.f64 b a))) (cos.f64 (/.f64 (*.f64 a a) (-.f64 b a)))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (-.f64 b a))) (sin.f64 (/.f64 (*.f64 a a) (-.f64 b a)))))
(+.f64 (*.f64 (neg.f64 (sin.f64 b)) (neg.f64 (neg.f64 (sin.f64 a)))) (*.f64 (cos.f64 b) (cos.f64 a)))
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) (neg.f64 (neg.f64 (sin.f64 b)))) (*.f64 (cos.f64 b) (cos.f64 a)))
(+.f64 (*.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal -1 binary64)) (*.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 (PI.f64) (+.f64 a b)))) #s(literal 0 binary64)))
(+.f64 (*.f64 (neg.f64 (cos.f64 (+.f64 a b))) #s(literal -1 binary64)) (*.f64 (neg.f64 (sin.f64 (+.f64 a b))) #s(literal 0 binary64)))
(+.f64 (*.f64 (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (*.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))))
(+.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 (+.f64 a b) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 a b)) (pow.f64 (+.f64 a b) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 a b)) (pow.f64 (+.f64 a b) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 a b) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 a b)) (pow.f64 (+.f64 a b) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 a b)) (pow.f64 (+.f64 a b) #s(literal 2 binary64)))))))
(+.f64 (*.f64 (sin.f64 (/.f64 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) #s(literal 2 binary64))) (*.f64 (-.f64 a b) #s(literal 2 binary64)))) (cos.f64 (/.f64 (*.f64 (-.f64 a b) (PI.f64)) (*.f64 (-.f64 a b) #s(literal 2 binary64))))) (*.f64 (cos.f64 (/.f64 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) #s(literal 2 binary64))) (*.f64 (-.f64 a b) #s(literal 2 binary64)))) (sin.f64 (/.f64 (*.f64 (-.f64 a b) (PI.f64)) (*.f64 (-.f64 a b) #s(literal 2 binary64))))))
(+.f64 (*.f64 (sin.f64 (/.f64 (*.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) #s(literal 2 binary64)) (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) #s(literal 2 binary64)))) (cos.f64 (/.f64 (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) (PI.f64)) (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) #s(literal 2 binary64))))) (*.f64 (cos.f64 (/.f64 (*.f64 (+.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) #s(literal 2 binary64)) (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) #s(literal 2 binary64)))) (sin.f64 (/.f64 (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) (PI.f64)) (*.f64 (fma.f64 (-.f64 b a) b (*.f64 a a)) #s(literal 2 binary64))))))
(+.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (cos.f64 (+.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))) (/.f64 (PI.f64) #s(literal 2 binary64))))) (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (-.f64 b a) b (*.f64 a a))))))
(+.f64 (*.f64 (cos.f64 (*.f64 a (/.f64 a (-.f64 a b)))) (cos.f64 (*.f64 b (/.f64 b (-.f64 a b))))) (*.f64 (sin.f64 (*.f64 a (/.f64 a (-.f64 a b)))) (sin.f64 (*.f64 b (/.f64 b (-.f64 a b))))))
(+.f64 (*.f64 (neg.f64 (sin.f64 (+.f64 a b))) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(+.f64 (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a)))
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 (+.f64 a b)))))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(+.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))

eval54.0ms (0.6%)

Memory
-1.9MiB live, 42.9MiB allocated; 15ms collecting garbage
Compiler

Compiled 4 641 to 744 computations (84% saved)

prune26.0ms (0.3%)

Memory
-13.5MiB live, 47.2MiB allocated; 8ms collecting garbage
Pruning

24 alts after pruning (23 fresh and 1 done)

PrunedKeptTotal
New15923182
Fresh000
Picked011
Done000
Total15924183
Accuracy
99.8%
Counts
183 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
78.9%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (pow.f64 (sin.f64 (+.f64 a b)) #s(literal 3 binary64)) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 (+.f64 a b)) #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (-.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))))
42.4%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
41.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
78.2%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (PI.f64))))
79.0%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
54.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
59.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 b)) a) (sin.f64 b)) a (cos.f64 b))))
59.8%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 (sin.f64 b)) a (cos.f64 b))))
55.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 (sin.f64 a)) b (cos.f64 a))))
62.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
57.1%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
53.4%
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b))) (cos.f64 (+.f64 a b)))
53.7%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
54.2%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
80.1%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
78.9%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
79.0%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
58.4%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (/.f64 r (cos.f64 b)) (sin.f64 b) (*.f64 (fma.f64 (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 a) (*.f64 r (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal -1/2 binary64) (pow.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 b))) #s(literal 3 binary64)))))) a)))
58.4%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) a) (/.f64 r (cos.f64 b)) (*.f64 (sin.f64 b) r)) (cos.f64 b)))
62.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
Compiler

Compiled 1 047 to 678 computations (35.2% saved)

simplify97.0ms (1.2%)

Memory
-1.7MiB live, 86.6MiB allocated; 17ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a)))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
cost-diff4
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
cost-diff0
#s(approx (cos (+ a b)) (cos.f64 b))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
cost-diff0
(cos.f64 a)
cost-diff0
(/.f64 r (cos.f64 a))
cost-diff0
(*.f64 (/.f64 r (cos.f64 a)) b)
cost-diff0
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
cost-diff0
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037249
063241
1114241
2203241
3362241
4729241
51732241
63779241
77499241
08050241
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(cos.f64 b)
(cos.f64 a)
a
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(neg.f64 (sin.f64 a))
(sin.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (cos.f64 a))
r
(cos.f64 a)
a
b
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
#s(approx (cos (+ a b)) (cos.f64 b))
(cos.f64 b)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))
(-.f64 (neg.f64 b) a)
(neg.f64 b)
a
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
#s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a)))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))
(-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a))
(*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b)
(*.f64 (cos.f64 a) #s(literal -1/2 binary64))
(cos.f64 a)
a
#s(literal -1/2 binary64)
(sin.f64 a)
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(cos.f64 b)
(cos.f64 a)
a
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(neg.f64 (sin.f64 a))
(sin.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (cos.f64 a))
r
(cos.f64 a)
a
b
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (cos (+ a b)) (cos.f64 b)))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
#s(approx (cos (+ a b)) (cos.f64 b))
(cos.f64 b)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 (neg.f64 b) a)))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (-.f64 (neg.f64 b) a))
(+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))
(-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 a (neg.f64 b)))
(-.f64 (neg.f64 b) a)
(neg.f64 b)
a
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
#s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a)))
#s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a)))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))
(fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a))
(-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a))
(-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a))
(*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b)
(*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b)
(*.f64 (cos.f64 a) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (cos.f64 a))
(cos.f64 a)
a
#s(literal -1/2 binary64)
(sin.f64 a)

localize243.0ms (2.9%)

Memory
-2.2MiB live, 296.7MiB allocated; 35ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.1484375
(*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b)
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
accuracy29.519282964000812
#s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a)))
accuracy0.015625
(+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
accuracy41.43394716611497
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
accuracy0.0
(cos.f64 b)
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
accuracy28.613626768912265
#s(approx (cos (+ a b)) (cos.f64 b))
accuracy0.00390625
(cos.f64 a)
accuracy0.10546875
(*.f64 (/.f64 r (cos.f64 a)) b)
accuracy0.1328125
(/.f64 r (cos.f64 a))
accuracy29.438426832392764
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
accuracy0.11851503907376806
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.21484375
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
Samples
146.0ms188×1valid
26.0ms68×0valid
Compiler

Compiled 213 to 34 computations (84% saved)

Precisions
Click to see histograms. Total time spent on operations: 125.0ms
ival-cos: 26.0ms (20.8% of total)
ival-sin: 26.0ms (20.8% of total)
adjust: 18.0ms (14.4% of total)
ival-mult: 18.0ms (14.4% of total)
ival-add: 14.0ms (11.2% of total)
ival-div: 12.0ms (9.6% of total)
ival-sub: 4.0ms (3.2% of total)
ival-pi: 3.0ms (2.4% of total)
ival-neg: 3.0ms (2.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series94.0ms (1.1%)

Memory
13.2MiB live, 58.7MiB allocated; 10ms collecting garbage
Counts
18 → 99
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (cos.f64 a))
(cos.f64 a)
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (cos (+ a b)) (cos.f64 b))
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
#s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(cos.f64 b)
(+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b)
Outputs
(/ (* r (sin b)) (+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b))))
(* r (sin b))
(/ (* r (sin b)) (cos (+ a b)))
(/ (* b r) (cos a))
(/ r (cos a))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/ (* r (sin b)) (cos b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(cos b)
(+ (cos b) (* -1 (* a (sin b))))
(+ (cos b) (* a (+ (* -1 (sin b)) (* -1/2 (* a (cos b))))))
(+ (cos b) (* a (+ (* -1 (sin b)) (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))))))
(* b r)
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
r
(+ r (* 1/2 (* (pow a 2) r)))
(+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(+ r (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 r) (+ (* 1/48 r) (* 1/2 (+ (* -1/4 r) (* 1/24 r))))))) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
1
(+ 1 (* -1/2 (pow a 2)))
(+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))
(+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(sin (- (* 1/2 (PI)) b))
(+ (sin (- (* 1/2 (PI)) b)) (* -1 (* a (cos (- (* 1/2 (PI)) b)))))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* -1/2 (* a (sin (- (* 1/2 (PI)) b)))))))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* a (+ (* -1/2 (sin (- (* 1/2 (PI)) b))) (* 1/6 (* a (cos (- (* 1/2 (PI)) b)))))))))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))
(+ (/ (* a (* r (* (cos (- (* 1/2 (PI)) b)) (sin b)))) (pow (sin (- (* 1/2 (PI)) b)) 2)) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (+ (* 1/6 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (/ (* (cos (- (* 1/2 (PI)) b)) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))))) (sin (- (* 1/2 (PI)) b))))))) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(* -1 (* a (sin b)))
(* a (+ (* -1 (sin b)) (* 1/6 (* (pow a 2) (sin b)))))
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* -1/120 (* (pow a 2) (sin b))) (* 1/6 (sin b))))))
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* 1/6 (sin b)) (* (pow a 2) (+ (* -1/120 (sin b)) (* 1/5040 (* (pow a 2) (sin b)))))))))
(- (* 1/2 (PI)) b)
(- (+ (* -1 a) (* 1/2 (PI))) b)
(* -1/2 b)
(+ (* -1/2 b) (* 1/4 (* (pow a 2) b)))
(+ (* -1/2 b) (* (pow a 2) (+ (* -1/48 (* (pow a 2) b)) (* 1/4 b))))
(+ (* -1/2 b) (* (pow a 2) (+ (* 1/4 b) (* (pow a 2) (+ (* -1/48 b) (* 1/1440 (* (pow a 2) b)))))))
(+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b)))
(cos a)
(cos (+ a b))
(sin (- (* 1/2 (PI)) (+ a b)))
(* -1 (* (sin a) (sin b)))
(* -1 a)
(* a (- (* 1/2 (/ (PI) a)) (+ 1 (/ b a))))
(* -1/2 (* b (cos a)))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(cos (- b (* -1 a)))
(sin (- (+ (* -1 a) (* 1/2 (PI))) b))
(/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))
(* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ r (* -1/6 (* (pow b 2) r))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(+ (cos a) (* -1 (* b (sin a))))
(+ (cos a) (* b (+ (* -1 (sin a)) (* -1/2 (* b (cos a))))))
(+ (cos a) (* b (+ (* -1 (sin a)) (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(sin (- (* 1/2 (PI)) a))
(+ (sin (- (* 1/2 (PI)) a)) (* -1 (* b (cos (- (* 1/2 (PI)) a)))))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* -1/2 (* b (sin (- (* 1/2 (PI)) a)))))))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* b (+ (* -1/2 (sin (- (* 1/2 (PI)) a))) (* 1/6 (* b (cos (- (* 1/2 (PI)) a)))))))))
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(* b (+ (/ r (sin (- (* 1/2 (PI)) a))) (/ (* b (* r (cos (- (* 1/2 (PI)) a)))) (pow (sin (- (* 1/2 (PI)) a)) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (cos (- (* 1/2 (PI)) a)) (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (sin (- (* 1/2 (PI)) a)))) (+ (* -1/2 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))) (* 1/6 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))))) (* -1/6 (/ r (sin (- (* 1/2 (PI)) a))))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(* -1 (* b (sin a)))
(* b (+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a)))))
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* -1/120 (* (pow b 2) (sin a))) (* 1/6 (sin a))))))
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* 1/6 (sin a)) (* (pow b 2) (+ (* -1/120 (sin a)) (* 1/5040 (* (pow b 2) (sin a)))))))))
(+ 1 (* -1/2 (pow b 2)))
(+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))
(+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))
(- (* 1/2 (PI)) a)
(- (+ (* -1 b) (* 1/2 (PI))) a)
(sin b)
(* -1 b)
(* b (- (* 1/2 (/ (PI) b)) (+ 1 (/ a b))))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(cos (- a (* -1 b)))
(sin (- (+ (* -1 b) (* 1/2 (PI))) a))
(/ (* r (sin b)) (sin (- (+ (* -1 b) (* 1/2 (PI))) a)))
(* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))
Calls

9 calls:

TimeVariablePointExpression
53.0ms
a
@0
((/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (* r (sin b)) (sin b) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (cos a) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (sin (+ (- (neg b) a) (/ (PI) 2))) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (* (neg (sin a)) (sin b)) (cos b) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))
7.0ms
r
@0
((/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (* r (sin b)) (sin b) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (cos a) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (sin (+ (- (neg b) a) (/ (PI) 2))) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (* (neg (sin a)) (sin b)) (cos b) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))
5.0ms
r
@-inf
((/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (* r (sin b)) (sin b) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (cos a) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (sin (+ (- (neg b) a) (/ (PI) 2))) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (* (neg (sin a)) (sin b)) (cos b) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))
5.0ms
r
@inf
((/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (* r (sin b)) (sin b) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (cos a) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (sin (+ (- (neg b) a) (/ (PI) 2))) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (* (neg (sin a)) (sin b)) (cos b) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))
5.0ms
a
@inf
((/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (* r (sin b)) (sin b) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (cos a) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (sin (+ (- (neg b) a) (/ (PI) 2))) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (* (neg (sin a)) (sin b)) (cos b) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))

simplify342.0ms (4.1%)

Memory
-21.7MiB live, 164.8MiB allocated; 23ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04692037
116501928
265681908
080141800
Stop Event
iter limit
node limit
Counts
99 → 97
Calls
Call 1
Inputs
(/ (* r (sin b)) (+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b))))
(* r (sin b))
(/ (* r (sin b)) (cos (+ a b)))
(/ (* b r) (cos a))
(/ r (cos a))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/ (* r (sin b)) (cos b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(cos b)
(+ (cos b) (* -1 (* a (sin b))))
(+ (cos b) (* a (+ (* -1 (sin b)) (* -1/2 (* a (cos b))))))
(+ (cos b) (* a (+ (* -1 (sin b)) (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))))))
(* b r)
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
r
(+ r (* 1/2 (* (pow a 2) r)))
(+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(+ r (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 r) (+ (* 1/48 r) (* 1/2 (+ (* -1/4 r) (* 1/24 r))))))) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
1
(+ 1 (* -1/2 (pow a 2)))
(+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))
(+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(sin (- (* 1/2 (PI)) b))
(+ (sin (- (* 1/2 (PI)) b)) (* -1 (* a (cos (- (* 1/2 (PI)) b)))))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* -1/2 (* a (sin (- (* 1/2 (PI)) b)))))))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* a (+ (* -1/2 (sin (- (* 1/2 (PI)) b))) (* 1/6 (* a (cos (- (* 1/2 (PI)) b)))))))))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))
(+ (/ (* a (* r (* (cos (- (* 1/2 (PI)) b)) (sin b)))) (pow (sin (- (* 1/2 (PI)) b)) 2)) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (+ (* 1/6 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (/ (* (cos (- (* 1/2 (PI)) b)) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))))) (sin (- (* 1/2 (PI)) b))))))) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(* -1 (* a (sin b)))
(* a (+ (* -1 (sin b)) (* 1/6 (* (pow a 2) (sin b)))))
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* -1/120 (* (pow a 2) (sin b))) (* 1/6 (sin b))))))
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* 1/6 (sin b)) (* (pow a 2) (+ (* -1/120 (sin b)) (* 1/5040 (* (pow a 2) (sin b)))))))))
(- (* 1/2 (PI)) b)
(- (+ (* -1 a) (* 1/2 (PI))) b)
(* -1/2 b)
(+ (* -1/2 b) (* 1/4 (* (pow a 2) b)))
(+ (* -1/2 b) (* (pow a 2) (+ (* -1/48 (* (pow a 2) b)) (* 1/4 b))))
(+ (* -1/2 b) (* (pow a 2) (+ (* 1/4 b) (* (pow a 2) (+ (* -1/48 b) (* 1/1440 (* (pow a 2) b)))))))
(+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b)))
(cos a)
(cos (+ a b))
(sin (- (* 1/2 (PI)) (+ a b)))
(* -1 (* (sin a) (sin b)))
(* -1 a)
(* a (- (* 1/2 (/ (PI) a)) (+ 1 (/ b a))))
(* -1/2 (* b (cos a)))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(cos (- b (* -1 a)))
(sin (- (+ (* -1 a) (* 1/2 (PI))) b))
(/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))
(* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ r (* -1/6 (* (pow b 2) r))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(+ (cos a) (* -1 (* b (sin a))))
(+ (cos a) (* b (+ (* -1 (sin a)) (* -1/2 (* b (cos a))))))
(+ (cos a) (* b (+ (* -1 (sin a)) (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(sin (- (* 1/2 (PI)) a))
(+ (sin (- (* 1/2 (PI)) a)) (* -1 (* b (cos (- (* 1/2 (PI)) a)))))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* -1/2 (* b (sin (- (* 1/2 (PI)) a)))))))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* b (+ (* -1/2 (sin (- (* 1/2 (PI)) a))) (* 1/6 (* b (cos (- (* 1/2 (PI)) a)))))))))
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(* b (+ (/ r (sin (- (* 1/2 (PI)) a))) (/ (* b (* r (cos (- (* 1/2 (PI)) a)))) (pow (sin (- (* 1/2 (PI)) a)) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (cos (- (* 1/2 (PI)) a)) (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (sin (- (* 1/2 (PI)) a)))) (+ (* -1/2 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))) (* 1/6 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))))) (* -1/6 (/ r (sin (- (* 1/2 (PI)) a))))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(* -1 (* b (sin a)))
(* b (+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a)))))
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* -1/120 (* (pow b 2) (sin a))) (* 1/6 (sin a))))))
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* 1/6 (sin a)) (* (pow b 2) (+ (* -1/120 (sin a)) (* 1/5040 (* (pow b 2) (sin a)))))))))
(+ 1 (* -1/2 (pow b 2)))
(+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))
(+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))
(- (* 1/2 (PI)) a)
(- (+ (* -1 b) (* 1/2 (PI))) a)
(sin b)
(* -1 b)
(* b (- (* 1/2 (/ (PI) b)) (+ 1 (/ a b))))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(cos (- a (* -1 b)))
(sin (- (+ (* -1 b) (* 1/2 (PI))) a))
(/ (* r (sin b)) (sin (- (+ (* -1 b) (* 1/2 (PI))) a)))
(* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))
Outputs
(/ (* r (sin b)) (+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 b) (cos.f64 a))))
(* r (sin b))
(*.f64 (sin.f64 b) r)
(/ (* r (sin b)) (cos (+ a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/ (* b r) (cos a))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/ r (cos a))
(/.f64 r (cos.f64 a))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
(/ (* r (sin b)) (cos b))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 b)))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (cos.f64 b))) (cos.f64 b))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (fma.f64 (/.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 b) #s(literal 2 binary64))) r (*.f64 (neg.f64 a) (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b))))) a))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) #s(literal -1/3 binary64) (*.f64 (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b))) (/.f64 (sin.f64 b) (cos.f64 b))))) (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b)))) a (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64))))) a (*.f64 (sin.f64 b) (/.f64 r (cos.f64 b))))
(cos b)
(cos.f64 b)
(+ (cos b) (* -1 (* a (sin b))))
(fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))
(+ (cos b) (* a (+ (* -1 (sin b)) (* -1/2 (* a (cos b))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (cos.f64 b) (neg.f64 (sin.f64 b))) a (cos.f64 b))
(+ (cos b) (* a (+ (* -1 (sin b)) (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 b) a) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) a (neg.f64 (sin.f64 b))) a (cos.f64 b))
(* b r)
(*.f64 b r)
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(*.f64 (fma.f64 (*.f64 a a) #s(literal 1/2 binary64) #s(literal 1 binary64)) (*.f64 b r))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) b) r (*.f64 (*.f64 (neg.f64 a) a) (*.f64 #s(literal -5/24 binary64) (*.f64 b r)))) (*.f64 a a) (*.f64 b r))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) b) r (*.f64 (fma.f64 (*.f64 (neg.f64 a) a) (fma.f64 (*.f64 b r) #s(literal 7/360 binary64) (*.f64 (*.f64 b r) #s(literal -5/48 binary64))) (*.f64 (*.f64 (neg.f64 b) r) #s(literal -5/24 binary64))) (*.f64 a a))) (*.f64 a a) (*.f64 b r))
r
(+ r (* 1/2 (* (pow a 2) r)))
(fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)
(+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)
(+ r (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 r) (+ (* 1/48 r) (* 1/2 (+ (* -1/4 r) (* 1/24 r))))))) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (neg.f64 a) a) (fma.f64 r #s(literal 7/360 binary64) (*.f64 r #s(literal -5/48 binary64))) (*.f64 (neg.f64 r) #s(literal -5/24 binary64))) (*.f64 a a) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow a 2)))
(fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64))
(+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) a (cos.f64 b))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 b) a) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) a) (sin.f64 b)) a (cos.f64 b))
(sin (- (* 1/2 (PI)) b))
(sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))
(+ (sin (- (* 1/2 (PI)) b)) (* -1 (* a (cos (- (* 1/2 (PI)) b)))))
(fma.f64 (neg.f64 a) (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* -1/2 (* a (sin (- (* 1/2 (PI)) b)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) (neg.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))) a (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* a (+ (* -1/2 (sin (- (* 1/2 (PI)) b))) (* 1/6 (* a (cos (- (* 1/2 (PI)) b)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) a) (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) (*.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal -1/2 binary64))) a (neg.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))) a (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))
(+ (/ (* a (* r (* (cos (- (* 1/2 (PI)) b)) (sin b)))) (pow (sin (- (* 1/2 (PI)) b)) 2)) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 a r) (*.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) (sin.f64 b))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(fma.f64 (fma.f64 (neg.f64 a) (fma.f64 r (*.f64 (/.f64 (sin.f64 b) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (sin.f64 (neg.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))) #s(literal 3 binary64)))) (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) (*.f64 (sin.f64 b) r)) (pow.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 2 binary64)))) a (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (+ (* 1/6 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (/ (* (cos (- (* 1/2 (PI)) b)) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))))) (sin (- (* 1/2 (PI)) b))))))) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) (*.f64 (sin.f64 b) r)) (pow.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 2 binary64))) #s(literal -1/3 binary64) (*.f64 (fma.f64 r (*.f64 (/.f64 (sin.f64 b) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (sin.f64 (neg.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))) #s(literal 3 binary64)))) (/.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))))) (fma.f64 r (*.f64 (/.f64 (sin.f64 b) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (sin.f64 (neg.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))) #s(literal 3 binary64))))) a (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) (*.f64 (sin.f64 b) r)) (pow.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 2 binary64)))) a (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))))
(* -1 (* a (sin b)))
(*.f64 (neg.f64 a) (sin.f64 b))
(* a (+ (* -1 (sin b)) (* 1/6 (* (pow a 2) (sin b)))))
(*.f64 (*.f64 (sin.f64 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64))) a)
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* -1/120 (* (pow a 2) (sin b))) (* 1/6 (sin b))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 b) (fma.f64 #s(literal -1/120 binary64) (*.f64 a a) #s(literal 1/6 binary64))) (*.f64 a a) (neg.f64 (sin.f64 b))) a)
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* 1/6 (sin b)) (* (pow a 2) (+ (* -1/120 (sin b)) (* 1/5040 (* (pow a 2) (sin b)))))))))
(*.f64 (fma.f64 (sin.f64 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64)) (*.f64 (pow.f64 a #s(literal 4 binary64)) (*.f64 (sin.f64 b) (fma.f64 #s(literal 1/5040 binary64) (*.f64 a a) #s(literal -1/120 binary64))))) a)
(- (* 1/2 (PI)) b)
(-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)
(- (+ (* -1 a) (* 1/2 (PI))) b)
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))
(* -1/2 b)
(*.f64 #s(literal -1/2 binary64) b)
(+ (* -1/2 b) (* 1/4 (* (pow a 2) b)))
(*.f64 b (fma.f64 #s(literal 1/4 binary64) (*.f64 a a) #s(literal -1/2 binary64)))
(+ (* -1/2 b) (* (pow a 2) (+ (* -1/48 (* (pow a 2) b)) (* 1/4 b))))
(fma.f64 (*.f64 b (fma.f64 #s(literal -1/48 binary64) (*.f64 a a) #s(literal 1/4 binary64))) (*.f64 a a) (*.f64 #s(literal -1/2 binary64) b))
(+ (* -1/2 b) (* (pow a 2) (+ (* 1/4 b) (* (pow a 2) (+ (* -1/48 b) (* 1/1440 (* (pow a 2) b)))))))
(fma.f64 b (fma.f64 #s(literal 1/4 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 (pow.f64 a #s(literal 4 binary64)) (*.f64 b (fma.f64 #s(literal 1/1440 binary64) (*.f64 a a) #s(literal -1/48 binary64)))))
(+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b)))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 b) (cos.f64 a)))
(cos a)
(cos.f64 a)
(cos (+ a b))
(cos.f64 (+.f64 a b))
(sin (- (* 1/2 (PI)) (+ a b)))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))
(* -1 (* (sin a) (sin b)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(* -1 a)
(neg.f64 a)
(* a (- (* 1/2 (/ (PI) a)) (+ 1 (/ b a))))
(*.f64 (-.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b) a) #s(literal 1 binary64)) a)
(* -1/2 (* b (cos a)))
(*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(cos (- b (* -1 a)))
(cos.f64 (+.f64 a b))
(sin (- (+ (* -1 a) (* 1/2 (PI))) b))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))
(/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
(* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))
(*.f64 (neg.f64 a) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b) a)))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(*.f64 (/.f64 (+.f64 (/.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (cos.f64 a)) r) (cos.f64 a)) b)
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) r (*.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a))))) b)) b (/.f64 r (cos.f64 a))) b)
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (neg.f64 b) (fma.f64 #s(literal -1/3 binary64) (*.f64 (sin.f64 a) (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) (/.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a))))) (sin.f64 a)) (neg.f64 (cos.f64 a)))) (-.f64 (*.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)))))) b (*.f64 (sin.f64 a) (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))))) b (/.f64 r (cos.f64 a))) b)
(* b (+ r (* -1/6 (* (pow b 2) r))))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (*.f64 r (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64))) (*.f64 b b) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b r))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) b)
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) b) b) #s(literal 1/6 binary64)) b)
(+ (cos a) (* -1 (* b (sin a))))
(fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))
(+ (cos a) (* b (+ (* -1 (sin a)) (* -1/2 (* b (cos a))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b (neg.f64 (sin.f64 a))) b (cos.f64 a))
(+ (cos a) (* b (+ (* -1 (sin a)) (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 a) b) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) b (neg.f64 (sin.f64 a))) b (cos.f64 a))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 a) b) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) b) (sin.f64 a)) b (cos.f64 a))
(sin (- (* 1/2 (PI)) a))
(sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))
(+ (sin (- (* 1/2 (PI)) a)) (* -1 (* b (cos (- (* 1/2 (PI)) a)))))
(fma.f64 (neg.f64 b) (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* -1/2 (* b (sin (- (* 1/2 (PI)) a)))))))
(fma.f64 (fma.f64 (*.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) b) #s(literal -1/2 binary64) (neg.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* b (+ (* -1/2 (sin (- (* 1/2 (PI)) a))) (* 1/6 (* b (cos (- (* 1/2 (PI)) a)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) (*.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal -1/2 binary64))) b (neg.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))
(* b (+ (/ r (sin (- (* 1/2 (PI)) a))) (/ (* b (* r (cos (- (* 1/2 (PI)) a)))) (pow (sin (- (* 1/2 (PI)) a)) 2))))
(*.f64 (/.f64 (+.f64 (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) (*.f64 b r)) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) b)
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(*.f64 (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) (fma.f64 (/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (neg.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal 3 binary64))))) b (*.f64 (/.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) (pow.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 2 binary64))) r)) b (/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b)
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (cos (- (* 1/2 (PI)) a)) (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (sin (- (* 1/2 (PI)) a)))) (+ (* -1/2 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))) (* 1/6 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))))) (* -1/6 (/ r (sin (- (* 1/2 (PI)) a))))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (neg.f64 b) (fma.f64 #s(literal -1/3 binary64) (*.f64 (/.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) (pow.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 2 binary64))) r) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) (fma.f64 (/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (neg.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal 3 binary64))))) (/.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))))) (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) (fma.f64 (/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (neg.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal 3 binary64)))))) b (*.f64 (/.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) (pow.f64 (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 2 binary64))) r)) b (/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b)
(* -1 (* b (sin a)))
(*.f64 (neg.f64 b) (sin.f64 a))
(* b (+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a)))))
(*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b)
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* -1/120 (* (pow b 2) (sin a))) (* 1/6 (sin a))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 b b) #s(literal -1/120 binary64) #s(literal 1/6 binary64))) (*.f64 b b) (neg.f64 (sin.f64 a))) b)
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* 1/6 (sin a)) (* (pow b 2) (+ (* -1/120 (sin a)) (* 1/5040 (* (pow b 2) (sin a)))))))))
(*.f64 (fma.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) (*.f64 (pow.f64 b #s(literal 4 binary64)) (*.f64 (sin.f64 a) (fma.f64 (*.f64 b b) #s(literal 1/5040 binary64) #s(literal -1/120 binary64))))) b)
(+ 1 (* -1/2 (pow b 2)))
(fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))
(+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) b) b) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))
(- (* 1/2 (PI)) a)
(-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)
(- (+ (* -1 b) (* 1/2 (PI))) a)
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))
(sin b)
(sin.f64 b)
(* -1 b)
(neg.f64 b)
(* b (- (* 1/2 (/ (PI) b)) (+ 1 (/ a b))))
(*.f64 (-.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) #s(literal 1 binary64)) b)
(/ (* r (sin b)) (cos (- a (* -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(cos (- a (* -1 b)))
(cos.f64 (+.f64 a b))
(sin (- (+ (* -1 b) (* 1/2 (PI))) a))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))
(/ (* r (sin b)) (sin (- (+ (* -1 b) (* 1/2 (PI))) a)))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
(* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))
(*.f64 (neg.f64 b) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b)))

rewrite214.0ms (2.6%)

Memory
30.9MiB live, 173.5MiB allocated; 21ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037166
063144
1231144
21715144
09754144
Stop Event
iter limit
node limit
iter limit
Counts
18 → 274
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (cos.f64 a))
(cos.f64 a)
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (cos (+ a b)) (cos.f64 b))
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
#s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(cos.f64 b)
(+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b)
Outputs
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (cos.f64 (-.f64 a b)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 a b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (neg.f64 (cos.f64 (+.f64 a b)))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) r)
(*.f64 r (sin.f64 b))
(sin.f64 b)
(/.f64 (fma.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (-.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) a))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
(/.f64 (neg.f64 (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (neg.f64 (cos.f64 (-.f64 a b))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(/.f64 (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) (cos.f64 (-.f64 a b)))
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(fma.f64 (cos.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (cos.f64 (/.f64 (*.f64 b b) (-.f64 a b))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (sin.f64 (/.f64 (*.f64 b b) (-.f64 a b)))))
(fma.f64 (sin.f64 (neg.f64 (+.f64 a b))) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 (+.f64 a b)) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 a b))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (neg.f64 a) b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 b (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 a (neg.f64 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) b))
(sin.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (neg.f64 b)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (neg.f64 a)))
(sin.f64 (+.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a (*.f64 b (-.f64 b a))))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 a a (*.f64 b (-.f64 b a)))))) (*.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a (*.f64 b (-.f64 b a))))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 a a (*.f64 b (-.f64 b a)))))))
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (cos.f64 (-.f64 a b))) (/.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (cos.f64 (-.f64 a b))))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a))))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b))))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 a)) (cos.f64 b)))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a)))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 a b)))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 a) b)))
(cos.f64 (neg.f64 (-.f64 b (neg.f64 a))))
(cos.f64 (neg.f64 (-.f64 a (neg.f64 b))))
(cos.f64 (+.f64 (neg.f64 (neg.f64 a)) b))
(cos.f64 (+.f64 b (neg.f64 (neg.f64 a))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 a b))))
(cos.f64 (-.f64 (neg.f64 a) b))
(cos.f64 (-.f64 a (neg.f64 b)))
(cos.f64 (-.f64 b (neg.f64 a)))
(cos.f64 (neg.f64 (+.f64 a b)))
(cos.f64 (+.f64 a b))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (cos.f64 (/.f64 (*.f64 b b) (-.f64 a b)))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (sin.f64 (/.f64 (*.f64 b b) (-.f64 a b)))))
(+.f64 (*.f64 (sin.f64 (neg.f64 (+.f64 a b))) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(+.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (sin.f64 (+.f64 a b)) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64)))
(+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 (neg.f64 r) b) (neg.f64 (cos.f64 a)))
(/.f64 (*.f64 b (neg.f64 r)) (neg.f64 (cos.f64 a)))
(/.f64 (neg.f64 (*.f64 b r)) (neg.f64 (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (neg.f64 (neg.f64 r)) (neg.f64 (neg.f64 (cos.f64 a))))
(/.f64 (neg.f64 r) (neg.f64 (cos.f64 a)))
(/.f64 r (cos.f64 a))
(neg.f64 (/.f64 (neg.f64 r) (cos.f64 a)))
(neg.f64 (/.f64 r (neg.f64 (cos.f64 a))))
(fma.f64 #s(literal 1 binary64) (cos.f64 a) (*.f64 #s(literal 0 binary64) (sin.f64 a)))
(fma.f64 (neg.f64 (sin.f64 a)) #s(literal 0 binary64) (*.f64 (cos.f64 a) #s(literal 1 binary64)))
(fma.f64 (sin.f64 a) #s(literal 0 binary64) (*.f64 (cos.f64 a) #s(literal 1 binary64)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 a))))
(cos.f64 (neg.f64 (neg.f64 a)))
(cos.f64 (neg.f64 a))
(cos.f64 a)
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) #s(literal 0 binary64)) (*.f64 (cos.f64 a) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 #s(literal 0 binary64) (sin.f64 a)))
(+.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64)) (*.f64 (cos.f64 a) #s(literal 1 binary64)))
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
(*.f64 r (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b)))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (cos (+ a b)) (cos.f64 b)))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b)))))
#s(approx (cos (+ a b)) (cos.f64 b))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (-.f64 (neg.f64 b) (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (/.f64 (PI.f64) #s(literal 2 binary64)))) (neg.f64 (cos.f64 (-.f64 (neg.f64 b) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))) (cos.f64 (-.f64 (neg.f64 b) a))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (-.f64 (neg.f64 b) (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (/.f64 (PI.f64) #s(literal 2 binary64)))) (neg.f64 (cos.f64 (-.f64 (neg.f64 b) a)))))) #s(literal 4 binary64))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (pow.f64 (sin.f64 (-.f64 (neg.f64 b) a)) #s(literal 3 binary64)) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 (-.f64 (neg.f64 b) a)) #s(literal 3 binary64)) #s(literal 1 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a)))))))
(fma.f64 (cos.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 b) a))) (cos.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 b) a))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 b) a))) (sin.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 b) a)))))
(fma.f64 (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)))) (*.f64 (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))))))
(fma.f64 (sin.f64 (/.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)))))))
(fma.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a)) (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))))
(fma.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a)) (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))))
(fma.f64 (sin.f64 (-.f64 (neg.f64 b) a)) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))))
(fma.f64 (cos.f64 (-.f64 (neg.f64 b) a)) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))
(sin.f64 (+.f64 (neg.f64 (-.f64 (neg.f64 b) a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(sin.f64 (-.f64 (neg.f64 b) (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))))
(-.f64 (*.f64 (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 b))) (cos.f64 a)) (*.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 b))) (sin.f64 a)))
(-.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)) (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)) (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))))
(-.f64 (*.f64 (neg.f64 (sin.f64 b)) (cos.f64 (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))) (*.f64 (cos.f64 b) (sin.f64 (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))))
(-.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) (*.f64 (neg.f64 (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 1 binary64)))
(cos.f64 (neg.f64 (neg.f64 (-.f64 (neg.f64 b) a))))
(cos.f64 (-.f64 (neg.f64 b) (neg.f64 (neg.f64 a))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 b) a)))
(cos.f64 (-.f64 (neg.f64 b) a))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 b) a))) (cos.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 b) a)))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 b) a))) (sin.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 b) a)))))
(+.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))))) (*.f64 (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))))))
(+.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)))))))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))) (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))))
(+.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))))
(+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 (neg.f64 b) a))) r)
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (-.f64 (neg.f64 b) a))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (-.f64 (neg.f64 b) a))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (neg.f64 (cos.f64 (-.f64 (neg.f64 b) a)))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 (cos.f64 (-.f64 (neg.f64 b) a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 (neg.f64 b) a)))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (cos.f64 (-.f64 (neg.f64 b) a))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (-.f64 (neg.f64 b) a)))))
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a)))) r)
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a)))))
(*.f64 r (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a)))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (neg.f64 #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a))))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a)))))
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a))))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a)))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (neg.f64 #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a))))))
#s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b) (sin.f64 a)) b (cos.f64 a)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))
(/.f64 (+.f64 (sin.f64 (-.f64 b (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (sin.f64 (+.f64 b (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) b)) (cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) b))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 b (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))
(fma.f64 (neg.f64 (sin.f64 b)) #s(literal 0 binary64) (*.f64 (cos.f64 b) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 b) (*.f64 #s(literal 0 binary64) (sin.f64 b)))
(fma.f64 (sin.f64 b) #s(literal 0 binary64) (*.f64 (cos.f64 b) #s(literal 1 binary64)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 b))))
(cos.f64 (neg.f64 (neg.f64 b)))
(cos.f64 (neg.f64 b))
(cos.f64 b)
(+.f64 (*.f64 (neg.f64 (sin.f64 b)) #s(literal 0 binary64)) (*.f64 (cos.f64 b) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) (*.f64 #s(literal 0 binary64) (sin.f64 b)))
(+.f64 (*.f64 (sin.f64 b) #s(literal 0 binary64)) (*.f64 (cos.f64 b) #s(literal 1 binary64)))
(/.f64 (fma.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))) (*.f64 (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)))) (*.f64 (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (neg.f64 (neg.f64 (PI.f64))) (neg.f64 (+.f64 (neg.f64 b) a)) (*.f64 #s(literal 2 binary64) (neg.f64 (fma.f64 b b (*.f64 (neg.f64 a) a))))) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (neg.f64 b) a))))
(/.f64 (fma.f64 (neg.f64 (neg.f64 (PI.f64))) (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) (*.f64 #s(literal 2 binary64) (neg.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))))) (*.f64 #s(literal 2 binary64) (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)))))
(/.f64 (fma.f64 (neg.f64 (neg.f64 (PI.f64))) (+.f64 (neg.f64 b) a) (*.f64 #s(literal 2 binary64) (fma.f64 b b (*.f64 (neg.f64 a) a)))) (*.f64 #s(literal 2 binary64) (+.f64 (neg.f64 b) a)))
(/.f64 (fma.f64 (neg.f64 (neg.f64 (PI.f64))) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))))) (*.f64 #s(literal 2 binary64) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))))
(/.f64 (fma.f64 (neg.f64 (PI.f64)) (neg.f64 (+.f64 (neg.f64 b) a)) (*.f64 #s(literal -2 binary64) (neg.f64 (fma.f64 b b (*.f64 (neg.f64 a) a))))) (*.f64 #s(literal -2 binary64) (neg.f64 (+.f64 (neg.f64 b) a))))
(/.f64 (fma.f64 (neg.f64 (PI.f64)) (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) (*.f64 #s(literal -2 binary64) (neg.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))))) (*.f64 #s(literal -2 binary64) (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)))))
(/.f64 (fma.f64 (PI.f64) (neg.f64 (+.f64 (neg.f64 b) a)) (*.f64 #s(literal 2 binary64) (neg.f64 (fma.f64 b b (*.f64 (neg.f64 a) a))))) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (neg.f64 b) a))))
(/.f64 (fma.f64 (PI.f64) (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) (*.f64 #s(literal 2 binary64) (neg.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))))) (*.f64 #s(literal 2 binary64) (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)))))
(/.f64 (fma.f64 (neg.f64 (fma.f64 b b (*.f64 (neg.f64 a) a))) #s(literal 2 binary64) (*.f64 (neg.f64 (+.f64 (neg.f64 b) a)) (neg.f64 (neg.f64 (PI.f64))))) (*.f64 (neg.f64 (+.f64 (neg.f64 b) a)) #s(literal 2 binary64)))
(/.f64 (fma.f64 (neg.f64 (fma.f64 b b (*.f64 (neg.f64 a) a))) #s(literal -2 binary64) (*.f64 (neg.f64 (+.f64 (neg.f64 b) a)) (neg.f64 (PI.f64)))) (*.f64 (neg.f64 (+.f64 (neg.f64 b) a)) #s(literal -2 binary64)))
(/.f64 (fma.f64 (neg.f64 (fma.f64 b b (*.f64 (neg.f64 a) a))) #s(literal 2 binary64) (*.f64 (neg.f64 (+.f64 (neg.f64 b) a)) (PI.f64))) (*.f64 (neg.f64 (+.f64 (neg.f64 b) a)) #s(literal 2 binary64)))
(/.f64 (fma.f64 (neg.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) #s(literal 2 binary64) (*.f64 (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) (neg.f64 (neg.f64 (PI.f64))))) (*.f64 (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) #s(literal 2 binary64)))
(/.f64 (fma.f64 (neg.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) #s(literal -2 binary64) (*.f64 (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) (neg.f64 (PI.f64)))) (*.f64 (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) #s(literal -2 binary64)))
(/.f64 (fma.f64 (neg.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64)))) #s(literal 2 binary64) (*.f64 (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) (PI.f64))) (*.f64 (neg.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))) #s(literal 2 binary64)))
(/.f64 (fma.f64 (fma.f64 b b (*.f64 (neg.f64 a) a)) #s(literal 2 binary64) (*.f64 (+.f64 (neg.f64 b) a) (neg.f64 (neg.f64 (PI.f64))))) (*.f64 (+.f64 (neg.f64 b) a) #s(literal 2 binary64)))
(/.f64 (fma.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) (neg.f64 (neg.f64 (PI.f64))))) (*.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 b b) (pow.f64 (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) #s(literal 2 binary64))) (+.f64 (neg.f64 b) (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)))
(/.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 b b (+.f64 (pow.f64 (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (neg.f64 b) (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (neg.f64 (PI.f64)) (+.f64 (neg.f64 b) a) (*.f64 #s(literal -2 binary64) (fma.f64 b b (*.f64 (neg.f64 a) a)))) (*.f64 #s(literal -2 binary64) (+.f64 (neg.f64 b) a)))
(/.f64 (fma.f64 (neg.f64 (PI.f64)) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) (*.f64 #s(literal -2 binary64) (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))))) (*.f64 #s(literal -2 binary64) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))))
(/.f64 (fma.f64 (PI.f64) (+.f64 (neg.f64 b) a) (*.f64 #s(literal 2 binary64) (fma.f64 b b (*.f64 (neg.f64 a) a)))) (*.f64 #s(literal 2 binary64) (+.f64 (neg.f64 b) a)))
(/.f64 (fma.f64 (PI.f64) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))))) (*.f64 #s(literal 2 binary64) (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b))))
(/.f64 (fma.f64 (fma.f64 b b (*.f64 (neg.f64 a) a)) #s(literal -2 binary64) (*.f64 (+.f64 (neg.f64 b) a) (neg.f64 (PI.f64)))) (*.f64 (+.f64 (neg.f64 b) a) #s(literal -2 binary64)))
(/.f64 (fma.f64 (fma.f64 b b (*.f64 (neg.f64 a) a)) #s(literal 2 binary64) (*.f64 (+.f64 (neg.f64 b) a) (PI.f64))) (*.f64 (+.f64 (neg.f64 b) a) #s(literal 2 binary64)))
(/.f64 (fma.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) #s(literal -2 binary64) (*.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) (neg.f64 (PI.f64)))) (*.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) #s(literal -2 binary64)))
(/.f64 (fma.f64 (-.f64 (pow.f64 b #s(literal 3 binary64)) (pow.f64 a #s(literal 3 binary64))) #s(literal 2 binary64) (*.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) (PI.f64))) (*.f64 (fma.f64 a (+.f64 (neg.f64 b) a) (*.f64 b b)) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)) (*.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)))))
(/.f64 (+.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64))) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64))))
(fma.f64 (sqrt.f64 (PI.f64)) (fabs.f64 (/.f64 (sqrt.f64 (PI.f64)) #s(literal 2 binary64))) (-.f64 (neg.f64 b) a))
(fma.f64 (sqrt.f64 (PI.f64)) (/.f64 (sqrt.f64 (PI.f64)) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a))
(fma.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64)) (fabs.f64 (/.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64))) (-.f64 (neg.f64 b) a))
(fma.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64)) (/.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a))
(-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 b)) a)
(-.f64 (/.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)) (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))) (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(-.f64 (neg.f64 b) (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)))) (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a)) (pow.f64 (-.f64 (neg.f64 b) a) #s(literal 2 binary64)))))
(+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (neg.f64 b) a))
(+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))
(*.f64 (*.f64 b (cos.f64 a)) #s(literal -1/2 binary64))
(*.f64 (*.f64 #s(literal -1/2 binary64) b) (cos.f64 a))
(*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b)
(*.f64 #s(literal -1/2 binary64) (*.f64 (cos.f64 a) b))
(*.f64 (cos.f64 a) (*.f64 #s(literal -1/2 binary64) b))
(*.f64 b (*.f64 #s(literal -1/2 binary64) (cos.f64 a)))

eval72.0ms (0.9%)

Memory
2.1MiB live, 129.9MiB allocated; 21ms collecting garbage
Compiler

Compiled 13 213 to 1 876 computations (85.8% saved)

prune134.0ms (1.6%)

Memory
-34.8MiB live, 131.7MiB allocated; 38ms collecting garbage
Pruning

54 alts after pruning (50 fresh and 4 done)

PrunedKeptTotal
New42941470
Fresh9918
Picked235
Done011
Total44054494
Accuracy
99.8%
Counts
494 → 54
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.4%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64)))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
59.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
68.1%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 b) (sin.f64 a)))))
66.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 a) (sin.f64 b)))))
63.0%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
54.6%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) b) b) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
54.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
54.4%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
78.9%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (pow.f64 (sin.f64 (-.f64 (neg.f64 b) a)) #s(literal 3 binary64)) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 (-.f64 (neg.f64 b) a)) #s(literal 3 binary64)) #s(literal 1 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))))))))
58.4%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64)))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)))))))
41.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
42.4%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
41.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))))
21.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
20.8%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
78.2%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (PI.f64))))
79.0%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
55.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
59.8%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))))
54.3%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 #s(approx (* (* (cos a) -1/2) b) (*.f64 #s(literal -1/2 binary64) b)) (sin.f64 a)) b (cos.f64 a))))
40.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
62.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
57.1%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
37.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
37.3%
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) b) b) #s(literal 1/6 binary64)) b))) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
53.7%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
54.2%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
37.5%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
53.3%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
53.6%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
36.6%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
54.2%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
80.1%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
78.9%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
62.2%
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
62.1%
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
59.5%
#s(approx (/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (cos.f64 b))) (cos.f64 b)))
37.7%
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))))
58.4%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (/.f64 r (cos.f64 b)) (sin.f64 b) (*.f64 (fma.f64 (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 a) (*.f64 r (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal -1/2 binary64) (pow.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 b))) #s(literal 3 binary64)))))) a)))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
37.4%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
37.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
36.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
36.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
36.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
28.2%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
29.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
37.3%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
Compiler

Compiled 2 651 to 1 842 computations (30.5% saved)

simplify120.0ms (1.4%)

Memory
13.3MiB live, 117.0MiB allocated; 13ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
cost-diff4
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
cost-diff0
(/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
cost-diff0
(*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b)
cost-diff0
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
cost-diff5
(sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))
cost-diff0
(*.f64 b r)
cost-diff0
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
cost-diff0
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
cost-diff0
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045283
073251
1135251
2249251
3505251
41007251
52202251
64629251
08343251
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
(neg.f64 (sin.f64 a))
(sin.f64 a)
a
(*.f64 (cos.f64 b) (cos.f64 a))
(cos.f64 b)
(cos.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
b
r
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
(*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b)
(/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
r
(sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))
(neg.f64 a)
a
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
b
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
#s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
(+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
#s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 b b)
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(cos.f64 a)
a
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(neg.f64 (sin.f64 a))
(sin.f64 a)
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 a) (cos.f64 b))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 a) (cos.f64 b)))
(neg.f64 (sin.f64 a))
(sin.f64 a)
a
(*.f64 (cos.f64 b) (cos.f64 a))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 b)
(cos.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
b
r
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
(*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 r (cos.f64 a))
r
(sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 a)
(+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))
(+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a))
(neg.f64 a)
a
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
b
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (cos (+ a b)) (cos.f64 b)))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
#s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
#s(approx (cos (+ a b)) (cos.f64 b))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
(cos.f64 b)
(+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
#s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64)))
(fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))
(*.f64 b b)
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(cos.f64 a)
a
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(neg.f64 (sin.f64 a))
(sin.f64 a)

localize239.0ms (2.9%)

Memory
21.0MiB live, 400.1MiB allocated; 34ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.21484375
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
accuracy29.506956859378274
#s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
accuracy25.95729120082688
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
accuracy28.613626768912265
#s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
accuracy0.10546875
(*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b)
accuracy0.1328125
(/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
accuracy28.41797884525123
(sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))
accuracy29.438426832392764
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
accuracy0.0
(*.f64 b r)
accuracy22.455729770484574
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
accuracy29.438426832392764
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
accuracy0.0703125
(*.f64 (cos.f64 b) (cos.f64 a))
accuracy0.11851503907376808
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
Samples
175.0ms188×1valid
34.0ms68×0valid
Compiler

Compiled 228 to 39 computations (82.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 166.0ms
ival-sin: 53.0ms (31.9% of total)
ival-div: 27.0ms (16.3% of total)
ival-cos: 25.0ms (15.1% of total)
adjust: 23.0ms (13.9% of total)
ival-mult: 20.0ms (12.1% of total)
ival-add: 13.0ms (7.8% of total)
ival-pi: 2.0ms (1.2% of total)
ival-neg: 2.0ms (1.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series53.0ms (0.6%)

Memory
-23.3MiB live, 66.5MiB allocated; 11ms collecting garbage
Counts
19 → 84
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
(sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
(*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b)
(/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(*.f64 (cos.f64 b) (cos.f64 a))
#s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
#s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
Outputs
(/ (* r (sin b)) (+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b))))
(* r (sin b))
(/ (* r (sin b)) (cos (+ a b)))
(/ (* b r) (cos a))
(* b r)
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(/ r (sin (- (* 1/2 (PI)) a)))
(/ (* r (sin b)) (cos b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(cos b)
(+ (cos b) (* -1 (* a (sin b))))
(+ (cos b) (* a (+ (* -1 (sin b)) (* -1/2 (* a (cos b))))))
(+ (cos b) (* a (+ (* -1 (sin b)) (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))))))
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(sin (* 1/2 (PI)))
(+ (sin (* 1/2 (PI))) (* -1 (* a (cos (* 1/2 (PI))))))
(+ (sin (* 1/2 (PI))) (* a (+ (* -1 (cos (* 1/2 (PI)))) (* -1/2 (* a (sin (* 1/2 (PI))))))))
(+ (sin (* 1/2 (PI))) (* a (+ (* -1 (cos (* 1/2 (PI)))) (* a (+ (* -1/2 (sin (* 1/2 (PI)))) (* 1/6 (* a (cos (* 1/2 (PI))))))))))
(/ (* b r) (sin (* 1/2 (PI))))
(+ (/ (* a (* b (* r (cos (* 1/2 (PI)))))) (pow (sin (* 1/2 (PI))) 2)) (/ (* b r) (sin (* 1/2 (PI)))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI)))))))) (* -1 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))))) (/ (* b r) (sin (* 1/2 (PI)))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))) (+ (* 1/6 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))) (/ (* (cos (* 1/2 (PI))) (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI))))))) (sin (* 1/2 (PI)))))))) (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI)))))))) (* -1 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))))) (/ (* b r) (sin (* 1/2 (PI)))))
(/ r (sin (* 1/2 (PI))))
(+ (/ r (sin (* 1/2 (PI)))) (/ (* a (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI)))))))) (* -1 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))))) (/ r (sin (* 1/2 (PI)))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))) (+ (* 1/6 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))) (/ (* (cos (* 1/2 (PI))) (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI))))))) (sin (* 1/2 (PI)))))))) (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI)))))))) (* -1 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))))) (/ r (sin (* 1/2 (PI)))))
(+ (cos b) (* -1/2 (* (pow a 2) (cos b))))
(+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))
(+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(* -1 (* a (sin b)))
(* a (+ (* -1 (sin b)) (* 1/6 (* (pow a 2) (sin b)))))
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* -1/120 (* (pow a 2) (sin b))) (* 1/6 (sin b))))))
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* 1/6 (sin b)) (* (pow a 2) (+ (* -1/120 (sin b)) (* 1/5040 (* (pow a 2) (sin b)))))))))
(+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b)))
(sin (- (* 1/2 (PI)) a))
(* (cos a) (cos b))
(cos (+ a b))
(* -1 (* (sin a) (sin b)))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(sin (+ (* -1 a) (* 1/2 (PI))))
(/ (* b r) (sin (+ (* -1 a) (* 1/2 (PI)))))
(/ r (sin (+ (* -1 a) (* 1/2 (PI)))))
(cos (- b (* -1 a)))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ r (* -1/6 (* (pow b 2) r))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(cos a)
(+ (cos a) (* -1 (* b (sin a))))
(+ (cos a) (* b (+ (* -1 (sin a)) (* -1/2 (* b (cos a))))))
(+ (cos a) (* b (+ (* -1 (sin a)) (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))))))
(+ (sin (* 1/2 (PI))) (* b (cos (* 1/2 (PI)))))
(+ (sin (* 1/2 (PI))) (* b (+ (cos (* 1/2 (PI))) (* -1/2 (* b (sin (* 1/2 (PI))))))))
(+ (sin (* 1/2 (PI))) (* b (+ (cos (* 1/2 (PI))) (* b (+ (* -1/2 (sin (* 1/2 (PI)))) (* -1/6 (* b (cos (* 1/2 (PI))))))))))
(+ (cos a) (* -1/2 (* (pow b 2) (cos a))))
(+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))
(+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
1
(+ 1 (* -1/2 (pow b 2)))
(+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))
(+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))
(* -1 (* b (sin a)))
(* b (+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a)))))
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* -1/120 (* (pow b 2) (sin a))) (* 1/6 (sin a))))))
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* 1/6 (sin a)) (* (pow b 2) (+ (* -1/120 (sin a)) (* 1/5040 (* (pow b 2) (sin a)))))))))
(sin b)
(sin (+ b (* 1/2 (PI))))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(sin (- (* 1/2 (PI)) (* -1 b)))
(cos (- a (* -1 b)))
Calls

9 calls:

TimeVariablePointExpression
12.0ms
r
@inf
((/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* r (sin b)) (sin b) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (* b r) (sin (+ (neg a) (/ (PI) 2))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (sin (+ (neg a) (/ (PI) 2)))) b) (/ r (sin (+ (neg a) (/ (PI) 2)))) (sin (+ (/ (PI) 2) b)) (/ (* r (sin b)) (cos (+ a b))) (/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (* (cos b) (cos a)) (cos (+ a b)) (cos b) (* (neg (sin a)) (sin b)))
11.0ms
r
@0
((/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* r (sin b)) (sin b) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (* b r) (sin (+ (neg a) (/ (PI) 2))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (sin (+ (neg a) (/ (PI) 2)))) b) (/ r (sin (+ (neg a) (/ (PI) 2)))) (sin (+ (/ (PI) 2) b)) (/ (* r (sin b)) (cos (+ a b))) (/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (* (cos b) (cos a)) (cos (+ a b)) (cos b) (* (neg (sin a)) (sin b)))
7.0ms
r
@-inf
((/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* r (sin b)) (sin b) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (* b r) (sin (+ (neg a) (/ (PI) 2))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (sin (+ (neg a) (/ (PI) 2)))) b) (/ r (sin (+ (neg a) (/ (PI) 2)))) (sin (+ (/ (PI) 2) b)) (/ (* r (sin b)) (cos (+ a b))) (/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (* (cos b) (cos a)) (cos (+ a b)) (cos b) (* (neg (sin a)) (sin b)))
5.0ms
b
@0
((/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* r (sin b)) (sin b) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (* b r) (sin (+ (neg a) (/ (PI) 2))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (sin (+ (neg a) (/ (PI) 2)))) b) (/ r (sin (+ (neg a) (/ (PI) 2)))) (sin (+ (/ (PI) 2) b)) (/ (* r (sin b)) (cos (+ a b))) (/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (* (cos b) (cos a)) (cos (+ a b)) (cos b) (* (neg (sin a)) (sin b)))
4.0ms
b
@-inf
((/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* r (sin b)) (sin b) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (* b r) (sin (+ (neg a) (/ (PI) 2))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (sin (+ (neg a) (/ (PI) 2)))) b) (/ r (sin (+ (neg a) (/ (PI) 2)))) (sin (+ (/ (PI) 2) b)) (/ (* r (sin b)) (cos (+ a b))) (/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (* (cos b) (cos a)) (cos (+ a b)) (cos b) (* (neg (sin a)) (sin b)))

simplify179.0ms (2.1%)

Memory
5.4MiB live, 193.8MiB allocated; 28ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04021721
114531609
259601583
087011475
Stop Event
iter limit
node limit
Counts
84 → 83
Calls
Call 1
Inputs
(/ (* r (sin b)) (+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b))))
(* r (sin b))
(/ (* r (sin b)) (cos (+ a b)))
(/ (* b r) (cos a))
(* b r)
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(/ r (sin (- (* 1/2 (PI)) a)))
(/ (* r (sin b)) (cos b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(cos b)
(+ (cos b) (* -1 (* a (sin b))))
(+ (cos b) (* a (+ (* -1 (sin b)) (* -1/2 (* a (cos b))))))
(+ (cos b) (* a (+ (* -1 (sin b)) (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))))))
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(sin (* 1/2 (PI)))
(+ (sin (* 1/2 (PI))) (* -1 (* a (cos (* 1/2 (PI))))))
(+ (sin (* 1/2 (PI))) (* a (+ (* -1 (cos (* 1/2 (PI)))) (* -1/2 (* a (sin (* 1/2 (PI))))))))
(+ (sin (* 1/2 (PI))) (* a (+ (* -1 (cos (* 1/2 (PI)))) (* a (+ (* -1/2 (sin (* 1/2 (PI)))) (* 1/6 (* a (cos (* 1/2 (PI))))))))))
(/ (* b r) (sin (* 1/2 (PI))))
(+ (/ (* a (* b (* r (cos (* 1/2 (PI)))))) (pow (sin (* 1/2 (PI))) 2)) (/ (* b r) (sin (* 1/2 (PI)))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI)))))))) (* -1 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))))) (/ (* b r) (sin (* 1/2 (PI)))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))) (+ (* 1/6 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))) (/ (* (cos (* 1/2 (PI))) (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI))))))) (sin (* 1/2 (PI)))))))) (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI)))))))) (* -1 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))))) (/ (* b r) (sin (* 1/2 (PI)))))
(/ r (sin (* 1/2 (PI))))
(+ (/ r (sin (* 1/2 (PI)))) (/ (* a (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI)))))))) (* -1 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))))) (/ r (sin (* 1/2 (PI)))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))) (+ (* 1/6 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))) (/ (* (cos (* 1/2 (PI))) (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI))))))) (sin (* 1/2 (PI)))))))) (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI)))))))) (* -1 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))))) (/ r (sin (* 1/2 (PI)))))
(+ (cos b) (* -1/2 (* (pow a 2) (cos b))))
(+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))
(+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(* -1 (* a (sin b)))
(* a (+ (* -1 (sin b)) (* 1/6 (* (pow a 2) (sin b)))))
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* -1/120 (* (pow a 2) (sin b))) (* 1/6 (sin b))))))
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* 1/6 (sin b)) (* (pow a 2) (+ (* -1/120 (sin b)) (* 1/5040 (* (pow a 2) (sin b)))))))))
(+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b)))
(sin (- (* 1/2 (PI)) a))
(* (cos a) (cos b))
(cos (+ a b))
(* -1 (* (sin a) (sin b)))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(sin (+ (* -1 a) (* 1/2 (PI))))
(/ (* b r) (sin (+ (* -1 a) (* 1/2 (PI)))))
(/ r (sin (+ (* -1 a) (* 1/2 (PI)))))
(cos (- b (* -1 a)))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ r (* -1/6 (* (pow b 2) r))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(cos a)
(+ (cos a) (* -1 (* b (sin a))))
(+ (cos a) (* b (+ (* -1 (sin a)) (* -1/2 (* b (cos a))))))
(+ (cos a) (* b (+ (* -1 (sin a)) (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))))))
(+ (sin (* 1/2 (PI))) (* b (cos (* 1/2 (PI)))))
(+ (sin (* 1/2 (PI))) (* b (+ (cos (* 1/2 (PI))) (* -1/2 (* b (sin (* 1/2 (PI))))))))
(+ (sin (* 1/2 (PI))) (* b (+ (cos (* 1/2 (PI))) (* b (+ (* -1/2 (sin (* 1/2 (PI)))) (* -1/6 (* b (cos (* 1/2 (PI))))))))))
(+ (cos a) (* -1/2 (* (pow b 2) (cos a))))
(+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))
(+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
1
(+ 1 (* -1/2 (pow b 2)))
(+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))
(+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))
(* -1 (* b (sin a)))
(* b (+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a)))))
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* -1/120 (* (pow b 2) (sin a))) (* 1/6 (sin a))))))
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* 1/6 (sin a)) (* (pow b 2) (+ (* -1/120 (sin a)) (* 1/5040 (* (pow b 2) (sin a)))))))))
(sin b)
(sin (+ b (* 1/2 (PI))))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(sin (- (* 1/2 (PI)) (* -1 b)))
(cos (- a (* -1 b)))
Outputs
(/ (* r (sin b)) (+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 b) (cos.f64 a))))
(* r (sin b))
(*.f64 (sin.f64 b) r)
(/ (* r (sin b)) (cos (+ a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/ (* b r) (cos a))
(*.f64 (/.f64 r (cos.f64 a)) b)
(* b r)
(*.f64 b r)
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))
(/ r (sin (- (* 1/2 (PI)) a)))
(/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))
(/ (* r (sin b)) (cos b))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 b)))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (cos.f64 b))) (cos.f64 b))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (fma.f64 (/.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 b) #s(literal 2 binary64))) r (*.f64 (neg.f64 a) (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b))))) a))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) #s(literal -1/3 binary64) (*.f64 (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b))) (/.f64 (sin.f64 b) (cos.f64 b))))) (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b)))) a (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64))))) a (*.f64 (sin.f64 b) (/.f64 r (cos.f64 b))))
(cos b)
(cos.f64 b)
(+ (cos b) (* -1 (* a (sin b))))
(fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))
(+ (cos b) (* a (+ (* -1 (sin b)) (* -1/2 (* a (cos b))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (cos.f64 b) (neg.f64 (sin.f64 b))) a (cos.f64 b))
(+ (cos b) (* a (+ (* -1 (sin b)) (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 b) a) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) a (neg.f64 (sin.f64 b))) a (cos.f64 b))
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(*.f64 (fma.f64 (*.f64 a a) #s(literal 1/2 binary64) #s(literal 1 binary64)) (*.f64 b r))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) r) b (*.f64 (*.f64 (neg.f64 a) a) (*.f64 #s(literal -5/24 binary64) (*.f64 b r)))) (*.f64 a a) (*.f64 b r))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) r) b (*.f64 (fma.f64 (*.f64 (neg.f64 a) a) (fma.f64 (*.f64 b r) #s(literal 7/360 binary64) (*.f64 (*.f64 b r) #s(literal -5/48 binary64))) (*.f64 #s(literal 5/24 binary64) (*.f64 b r))) (*.f64 a a))) (*.f64 a a) (*.f64 b r))
(sin (* 1/2 (PI)))
(sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))
(+ (sin (* 1/2 (PI))) (* -1 (* a (cos (* 1/2 (PI))))))
(fma.f64 (neg.f64 a) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (sin (* 1/2 (PI))) (* a (+ (* -1 (cos (* 1/2 (PI)))) (* -1/2 (* a (sin (* 1/2 (PI))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (cos.f64 (fma.f64 #s(literal -1/2 binary64) (PI.f64) (PI.f64)))) a (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (sin (* 1/2 (PI))) (* a (+ (* -1 (cos (* 1/2 (PI)))) (* a (+ (* -1/2 (sin (* 1/2 (PI)))) (* 1/6 (* a (cos (* 1/2 (PI))))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) a) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (*.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) #s(literal -1/2 binary64))) a (cos.f64 (fma.f64 #s(literal -1/2 binary64) (PI.f64) (PI.f64)))) a (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(/ (* b r) (sin (* 1/2 (PI))))
(/.f64 (*.f64 b r) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (/ (* a (* b (* r (cos (* 1/2 (PI)))))) (pow (sin (* 1/2 (PI))) 2)) (/ (* b r) (sin (* 1/2 (PI)))))
(/.f64 (fma.f64 b r (/.f64 (*.f64 (*.f64 (*.f64 a b) r) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI)))))))) (* -1 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))))) (/ (* b r) (sin (* 1/2 (PI)))))
(fma.f64 (fma.f64 (neg.f64 a) (fma.f64 (*.f64 #s(literal -1/2 binary64) b) (/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 2 binary64)) r) b) (pow.f64 (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 3 binary64)))) (/.f64 (*.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (*.f64 b r)) (pow.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) a (/.f64 (*.f64 b r) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))) (+ (* 1/6 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))) (/ (* (cos (* 1/2 (PI))) (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI))))))) (sin (* 1/2 (PI)))))))) (+ (* -1 (/ (* b (* r (pow (cos (* 1/2 (PI))) 2))) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ (* b r) (sin (* 1/2 (PI)))))))) (* -1 (/ (* b (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2))))) (/ (* b r) (sin (* 1/2 (PI)))))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (/.f64 (*.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (*.f64 b r)) (pow.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) #s(literal 2 binary64))) #s(literal -1/3 binary64) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) b) (/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 2 binary64)) r) b) (pow.f64 (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 3 binary64)))) (/.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))))) (fma.f64 (*.f64 #s(literal -1/2 binary64) b) (/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 2 binary64)) r) b) (pow.f64 (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 3 binary64))))) a (/.f64 (*.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (*.f64 b r)) (pow.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) a (/.f64 (*.f64 b r) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(/ r (sin (* 1/2 (PI))))
(/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (/ r (sin (* 1/2 (PI)))) (/ (* a (* r (cos (* 1/2 (PI))))) (pow (sin (* 1/2 (PI))) 2)))
(/.f64 (+.f64 (/.f64 (*.f64 (*.f64 a r) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) r) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI)))))))) (* -1 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))))) (/ r (sin (* 1/2 (PI)))))
(fma.f64 (fma.f64 (neg.f64 a) (fma.f64 (/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 3 binary64)))) (*.f64 (/.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (pow.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) #s(literal 2 binary64))) r)) a (/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))) (+ (* 1/6 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))) (/ (* (cos (* 1/2 (PI))) (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI))))))) (sin (* 1/2 (PI)))))))) (+ (* -1 (/ (* r (pow (cos (* 1/2 (PI))) 2)) (pow (sin (* 1/2 (PI))) 3))) (* -1/2 (/ r (sin (* 1/2 (PI)))))))) (* -1 (/ (* r (cos (* 1/2 (PI)))) (pow (sin (* 1/2 (PI))) 2))))) (/ r (sin (* 1/2 (PI)))))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (*.f64 (/.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (pow.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) #s(literal 2 binary64))) r) #s(literal -1/3 binary64) (*.f64 (fma.f64 (/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 3 binary64)))) (/.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))))) (fma.f64 (/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) #s(literal 3 binary64))))) a (*.f64 (/.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (pow.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) #s(literal 2 binary64))) r)) a (/.f64 r (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(+ (cos b) (* -1/2 (* (pow a 2) (cos b))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) a #s(literal 1 binary64)) (cos.f64 b))
(+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))
(fma.f64 (*.f64 (cos.f64 b) (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64))) (*.f64 a a) (cos.f64 b))
(+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) a #s(literal 1 binary64)) (cos.f64 b) (*.f64 (pow.f64 a #s(literal 4 binary64)) (*.f64 (cos.f64 b) (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)))))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) a (cos.f64 b))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 b) a) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) a) (sin.f64 b)) a (cos.f64 b))
(* -1 (* a (sin b)))
(*.f64 (neg.f64 a) (sin.f64 b))
(* a (+ (* -1 (sin b)) (* 1/6 (* (pow a 2) (sin b)))))
(*.f64 (*.f64 (sin.f64 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64))) a)
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* -1/120 (* (pow a 2) (sin b))) (* 1/6 (sin b))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 b) (fma.f64 #s(literal -1/120 binary64) (*.f64 a a) #s(literal 1/6 binary64))) (*.f64 a a) (neg.f64 (sin.f64 b))) a)
(* a (+ (* -1 (sin b)) (* (pow a 2) (+ (* 1/6 (sin b)) (* (pow a 2) (+ (* -1/120 (sin b)) (* 1/5040 (* (pow a 2) (sin b)))))))))
(*.f64 (fma.f64 (sin.f64 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64)) (*.f64 (pow.f64 a #s(literal 4 binary64)) (*.f64 (sin.f64 b) (fma.f64 #s(literal 1/5040 binary64) (*.f64 a a) #s(literal -1/120 binary64))))) a)
(+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos b)))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 b) (cos.f64 a)))
(sin (- (* 1/2 (PI)) a))
(sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))
(* (cos a) (cos b))
(*.f64 (cos.f64 b) (cos.f64 a))
(cos (+ a b))
(cos.f64 (+.f64 a b))
(* -1 (* (sin a) (sin b)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(sin (+ (* -1 a) (* 1/2 (PI))))
(sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))
(/ (* b r) (sin (+ (* -1 a) (* 1/2 (PI)))))
(/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))
(/ r (sin (+ (* -1 a) (* 1/2 (PI)))))
(/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))
(cos (- b (* -1 a)))
(cos.f64 (+.f64 a b))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(*.f64 (/.f64 (+.f64 (/.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (cos.f64 a)) r) (cos.f64 a)) b)
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(*.f64 (fma.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) r (*.f64 (-.f64 (fma.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a)) (*.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)))) (*.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))) b)) b (/.f64 r (cos.f64 a))) b)
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (neg.f64 b) (fma.f64 #s(literal -1/3 binary64) (*.f64 (sin.f64 a) (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) (/.f64 (*.f64 (-.f64 (fma.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a)) (*.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)))) (*.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))) (sin.f64 a)) (neg.f64 (cos.f64 a)))) (-.f64 (fma.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a)) (*.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)))) (*.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) b (*.f64 (sin.f64 a) (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))))) b (/.f64 r (cos.f64 a))) b)
(* b (+ r (* -1/6 (* (pow b 2) r))))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (*.f64 r (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64))) (*.f64 b b) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b r))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) b)
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) b) b) #s(literal 1/6 binary64)) b)
(cos a)
(cos.f64 a)
(+ (cos a) (* -1 (* b (sin a))))
(fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))
(+ (cos a) (* b (+ (* -1 (sin a)) (* -1/2 (* b (cos a))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) b) (cos.f64 a) (neg.f64 (sin.f64 a))) b (cos.f64 a))
(+ (cos a) (* b (+ (* -1 (sin a)) (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 a) b) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) b (neg.f64 (sin.f64 a))) b (cos.f64 a))
(+ (sin (* 1/2 (PI))) (* b (cos (* 1/2 (PI)))))
(fma.f64 (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) b (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (sin (* 1/2 (PI))) (* b (+ (cos (* 1/2 (PI))) (* -1/2 (* b (sin (* 1/2 (PI))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) b) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) b (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (sin (* 1/2 (PI))) (* b (+ (cos (* 1/2 (PI))) (* b (+ (* -1/2 (sin (* 1/2 (PI)))) (* -1/6 (* b (cos (* 1/2 (PI))))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) b) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))) (*.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) #s(literal -1/2 binary64))) b (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) b (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+ (cos a) (* -1/2 (* (pow b 2) (cos a))))
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)) (cos.f64 a))
(+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))
(fma.f64 (*.f64 (cos.f64 a) (fma.f64 (*.f64 #s(literal 1/24 binary64) b) b #s(literal -1/2 binary64))) (*.f64 b b) (cos.f64 a))
(+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))
(fma.f64 (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)) (cos.f64 a) (*.f64 (pow.f64 b #s(literal 4 binary64)) (*.f64 (cos.f64 a) (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 a) b) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) b) (sin.f64 a)) b (cos.f64 a))
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow b 2)))
(fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))
(+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) b) b) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))
(* -1 (* b (sin a)))
(*.f64 (neg.f64 b) (sin.f64 a))
(* b (+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a)))))
(*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b)
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* -1/120 (* (pow b 2) (sin a))) (* 1/6 (sin a))))))
(*.f64 (fma.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 b b) #s(literal -1/120 binary64) #s(literal 1/6 binary64))) (*.f64 b b) (neg.f64 (sin.f64 a))) b)
(* b (+ (* -1 (sin a)) (* (pow b 2) (+ (* 1/6 (sin a)) (* (pow b 2) (+ (* -1/120 (sin a)) (* 1/5040 (* (pow b 2) (sin a)))))))))
(*.f64 (fma.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) (*.f64 (pow.f64 b #s(literal 4 binary64)) (*.f64 (sin.f64 a) (fma.f64 (*.f64 b b) #s(literal 1/5040 binary64) #s(literal -1/120 binary64))))) b)
(sin b)
(sin.f64 b)
(sin (+ b (* 1/2 (PI))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(sin (- (* 1/2 (PI)) (* -1 b)))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))
(cos (- a (* -1 b)))
(cos.f64 (+.f64 a b))

rewrite233.0ms (2.8%)

Memory
-2.0MiB live, 234.0MiB allocated; 30ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045208
073176
1257162
21727162
09699162
Stop Event
iter limit
node limit
iter limit
Counts
19 → 330
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
(sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
(*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b)
(/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(*.f64 (cos.f64 b) (cos.f64 a))
#s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
#s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
Outputs
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 a b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (neg.f64 (cos.f64 (+.f64 a b)))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) r)
(*.f64 r (sin.f64 b))
(sin.f64 b)
(/.f64 (fma.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal -4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))))) #s(literal 4 binary64))
(/.f64 (-.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))) (cos.f64 (+.f64 (neg.f64 a) b)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))) (cos.f64 (-.f64 a b)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a))))))
(/.f64 (neg.f64 (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) (neg.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)))))
(/.f64 (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))))
(fma.f64 (cos.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (cos.f64 (/.f64 (*.f64 b b) (-.f64 a b))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (sin.f64 (/.f64 (*.f64 b b) (-.f64 a b)))))
(fma.f64 (sin.f64 (neg.f64 (+.f64 a b))) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64)))
(fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (neg.f64 (neg.f64 (cos.f64 b))) (cos.f64 a)))
(fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 (sin.f64 (+.f64 a b)) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (neg.f64 (neg.f64 (cos.f64 b))) (cos.f64 a)))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (neg.f64 (neg.f64 (cos.f64 b))) (cos.f64 a)))
(fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (neg.f64 (cos.f64 b))) (cos.f64 a)))
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 a b))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (neg.f64 a) b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 b (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 a (neg.f64 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (neg.f64 b)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (neg.f64 b)))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) b))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (neg.f64 a)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(sin.f64 (+.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a (*.f64 b (-.f64 b a))))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 a a (*.f64 b (-.f64 b a)))))) (*.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a a (*.f64 b (-.f64 b a))))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 a a (*.f64 b (-.f64 b a)))))))
(-.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (/.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 a)) (cos.f64 b)))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b))))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a))))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 a b)))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 a) b)))
(cos.f64 (neg.f64 (-.f64 b (neg.f64 a))))
(cos.f64 (neg.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 b) a)))
(cos.f64 (neg.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)))))
(cos.f64 (neg.f64 (-.f64 a (neg.f64 b))))
(cos.f64 (+.f64 (neg.f64 (neg.f64 a)) b))
(cos.f64 (+.f64 b (neg.f64 (neg.f64 a))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 a b))))
(cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a))))
(cos.f64 (-.f64 (neg.f64 a) b))
(cos.f64 (-.f64 a (neg.f64 b)))
(cos.f64 (-.f64 (neg.f64 b) a))
(cos.f64 (-.f64 b (neg.f64 a)))
(cos.f64 (neg.f64 (+.f64 a b)))
(cos.f64 (+.f64 a b))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (cos.f64 (/.f64 (*.f64 b b) (-.f64 a b)))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (sin.f64 (/.f64 (*.f64 b b) (-.f64 a b)))))
(+.f64 (*.f64 (sin.f64 (neg.f64 (+.f64 a b))) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(+.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (+.f64 (neg.f64 a) b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (sin.f64 (+.f64 a b)) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 a b)) #s(literal 1 binary64)))
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (neg.f64 (cos.f64 b))) (cos.f64 a)))
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
(*.f64 r b)
(/.f64 (fma.f64 (-.f64 (cos.f64 a) (neg.f64 (cos.f64 a))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (cos.f64 a) (neg.f64 (cos.f64 a))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (-.f64 (cos.f64 a) (neg.f64 (cos.f64 a))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (neg.f64 (cos.f64 a)) (cos.f64 a)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 a) (neg.f64 (cos.f64 a))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 a) (neg.f64 (cos.f64 a))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (neg.f64 (cos.f64 a)) (cos.f64 a)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 a) (neg.f64 (cos.f64 a))))) #s(literal 4 binary64))
(/.f64 (-.f64 (pow.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) #s(literal 2 binary64))) (neg.f64 (cos.f64 a)))
(/.f64 (fma.f64 (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64)) #s(literal 1 binary64))) (+.f64 (pow.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) #s(literal 2 binary64)) (*.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) (*.f64 #s(literal 1 binary64) (cos.f64 a))))))
(fma.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (*.f64 a a)))) (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (*.f64 a a)))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (*.f64 a a))))))
(fma.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 a)) (*.f64 #s(literal 1 binary64) (cos.f64 a)))
(fma.f64 #s(literal 1 binary64) (cos.f64 a) (*.f64 #s(literal 0 binary64) (sin.f64 a)))
(fma.f64 #s(literal 1 binary64) (cos.f64 a) (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))))
(fma.f64 (cos.f64 a) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 a)))
(fma.f64 (cos.f64 a) #s(literal 1 binary64) (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))))
(fma.f64 (neg.f64 (sin.f64 a)) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 a)))
(fma.f64 (sin.f64 a) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 a)))
(sin.f64 (+.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (-.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)))
(-.f64 (*.f64 (sin.f64 (/.f64 (*.f64 a a) (-.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (*.f64 a a) (-.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))))
(-.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) (*.f64 (neg.f64 (cos.f64 a)) #s(literal 1 binary64)))
(cos.f64 (neg.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 a))))
(cos.f64 (neg.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 a)))
(cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (neg.f64 a))
(cos.f64 a)
(+.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (*.f64 a a))))) (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (*.f64 a a)))) (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (*.f64 a a))))))
(+.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (cos.f64 a)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 #s(literal 0 binary64) (sin.f64 a)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))))
(+.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) (*.f64 #s(literal 1 binary64) (cos.f64 a)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 (neg.f64 r) b) (neg.f64 (cos.f64 a)))
(/.f64 (*.f64 b (neg.f64 r)) (neg.f64 (cos.f64 a)))
(/.f64 (neg.f64 (*.f64 b r)) (neg.f64 (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (neg.f64 (neg.f64 r)) (neg.f64 (neg.f64 (cos.f64 a))))
(/.f64 (neg.f64 r) (neg.f64 (cos.f64 a)))
(/.f64 r (cos.f64 a))
(neg.f64 (/.f64 (neg.f64 r) (cos.f64 a)))
(neg.f64 (/.f64 r (neg.f64 (cos.f64 a))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) #s(literal 2 binary64))) (cos.f64 b))
(/.f64 (fma.f64 (pow.f64 (cos.f64 b) #s(literal 3 binary64)) #s(literal 1 binary64) (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) #s(literal 0 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) (*.f64 #s(literal 0 binary64) (sin.f64 b))))))
(fma.f64 (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 b (-.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 b (-.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)))))))
(fma.f64 (neg.f64 (sin.f64 b)) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 b)))
(fma.f64 #s(literal 0 binary64) (sin.f64 b) (*.f64 #s(literal 1 binary64) (cos.f64 b)))
(fma.f64 #s(literal 1 binary64) (cos.f64 b) (*.f64 #s(literal 0 binary64) (sin.f64 b)))
(fma.f64 (cos.f64 b) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 b)))
(fma.f64 (sin.f64 b) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 b)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))
(-.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (cos.f64 (/.f64 (*.f64 b b) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (*.f64 (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (sin.f64 (/.f64 (*.f64 b b) (-.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))
(-.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) (*.f64 #s(literal 0 binary64) (sin.f64 b)))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 b))))
(cos.f64 (neg.f64 (neg.f64 b)))
(cos.f64 (neg.f64 b))
(cos.f64 b)
(+.f64 (*.f64 (neg.f64 (sin.f64 b)) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (cos.f64 b)))
(+.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 b (-.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 b (-.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) #s(literal 2 binary64)))))))
(+.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (*.f64 #s(literal 1 binary64) (cos.f64 b)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) (*.f64 #s(literal 0 binary64) (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
(*.f64 r (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b)))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (cos (+ a b)) (cos.f64 b)))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b)))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)))) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64))))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) r)
(*.f64 (sin.f64 b) (/.f64 r (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (fma.f64 (sin.f64 a) (sin.f64 b) (neg.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (fma.f64 (sin.f64 a) (sin.f64 b) (neg.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (sin.f64 a) (sin.f64 b) (neg.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))))))
(/.f64 (fma.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64))) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)))) (neg.f64 (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) (sin.f64 b)) (neg.f64 (sin.f64 a))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 3 binary64))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)))
(fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 a) #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)))
(fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)))
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))) (/.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (fma.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b)))))
(-.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a))))
(-.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b)))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64)))) (cos.f64 a)))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 a)) #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a))) (pow.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 #s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a)))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 b) (cos.f64 a))
(/.f64 (fma.f64 (cos.f64 (+.f64 a b)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cos.f64 (-.f64 a b)))) #s(literal 4 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (neg.f64 (neg.f64 b)))) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (neg.f64 (neg.f64 b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (neg.f64 (neg.f64 b)))) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (neg.f64 (neg.f64 b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 a)))) (sin.f64 (+.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (sin.f64 (+.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 a))) (sin.f64 (+.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) a)) (sin.f64 (+.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) a))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (neg.f64 (neg.f64 a)))) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (neg.f64 (neg.f64 a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)) (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a)))) (cos.f64 (+.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 a)) (neg.f64 (neg.f64 b)))) (cos.f64 (-.f64 (neg.f64 (neg.f64 a)) (neg.f64 (neg.f64 b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 a)) (neg.f64 b))) (cos.f64 (-.f64 (neg.f64 (neg.f64 a)) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 b)))) (cos.f64 (-.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 b))) (cos.f64 (-.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) b)) (cos.f64 (-.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) (neg.f64 (neg.f64 b)))) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 (neg.f64 b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a (neg.f64 (neg.f64 b)))) (cos.f64 (-.f64 a (neg.f64 (neg.f64 b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 b)) (neg.f64 (neg.f64 a)))) (cos.f64 (-.f64 (neg.f64 (neg.f64 b)) (neg.f64 (neg.f64 a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 b)) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (-.f64 (neg.f64 (neg.f64 b)) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 b)) (neg.f64 a))) (cos.f64 (-.f64 (neg.f64 (neg.f64 b)) (neg.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 b)) a)) (cos.f64 (-.f64 (neg.f64 (neg.f64 b)) a))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 b) (neg.f64 (neg.f64 a)))) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 (neg.f64 a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 b) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (-.f64 (neg.f64 b) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 b (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (-.f64 b (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal -2 binary64))
(/.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64))
(/.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(fma.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) (cos.f64 a) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (cos.f64 a)))
(fma.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) (cos.f64 b) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) (cos.f64 b)))
(fma.f64 (cos.f64 a) (*.f64 #s(literal 1 binary64) (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 #s(literal 0 binary64) (sin.f64 b))))
(fma.f64 (cos.f64 b) (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) (*.f64 (cos.f64 b) (*.f64 #s(literal 1 binary64) (cos.f64 a))))
(+.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) (cos.f64 a)) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (cos.f64 a)))
(+.f64 (*.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) (cos.f64 b)) (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) (cos.f64 b)))
(+.f64 (*.f64 (cos.f64 a) (*.f64 #s(literal 1 binary64) (cos.f64 b))) (*.f64 (cos.f64 a) (*.f64 #s(literal 0 binary64) (sin.f64 b))))
(+.f64 (*.f64 (cos.f64 b) (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64)))) (*.f64 (cos.f64 b) (*.f64 #s(literal 1 binary64) (cos.f64 a))))
(+.f64 (/.f64 (cos.f64 (+.f64 a b)) #s(literal 2 binary64)) (/.f64 (cos.f64 (-.f64 a b)) #s(literal 2 binary64)))
#s(approx (cos (+ a b)) (cos.f64 b))
#s(approx (cos b) (fma.f64 #s(literal -1/2 binary64) (*.f64 b b) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))
(*.f64 (sin.f64 b) (neg.f64 (sin.f64 a)))
(/.f64 (+.f64 (sin.f64 (-.f64 b (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (sin.f64 (+.f64 b (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) b)) (cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))) b))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 b (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (PI.f64) a) b)) (cos.f64 (+.f64 (+.f64 (PI.f64) a) b))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (+.f64 a b)) (cos.f64 (+.f64 (neg.f64 a) b))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 b (+.f64 (PI.f64) a))) (cos.f64 (+.f64 b (+.f64 (PI.f64) a)))) #s(literal 2 binary64))
(neg.f64 (*.f64 (sin.f64 a) (sin.f64 b)))

eval113.0ms (1.4%)

Memory
8.8MiB live, 150.6MiB allocated; 25ms collecting garbage
Compiler

Compiled 13 320 to 1 852 computations (86.1% saved)

prune103.0ms (1.2%)

Memory
7.1MiB live, 111.1MiB allocated; 11ms collecting garbage
Pruning

57 alts after pruning (51 fresh and 6 done)

PrunedKeptTotal
New42116437
Fresh103545
Picked325
Done044
Total43457491
Accuracy
99.8%
Counts
491 → 57
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.4%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64)))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
59.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
66.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 a) (sin.f64 b)))))
63.0%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
54.6%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) b) b) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
54.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
53.9%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
54.4%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 b) (sin.f64 a)))))
58.4%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) #s(literal 1 binary64)) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
78.8%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64)))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
41.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
42.4%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
41.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))))
21.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
20.8%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
78.2%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (PI.f64))))
79.0%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
55.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
59.8%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))))
57.1%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (cos.f64 a)))
54.3%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 #s(approx (* (* (cos a) -1/2) b) (*.f64 #s(literal -1/2 binary64) b)) (sin.f64 a)) b (cos.f64 a))))
62.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
40.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (sin (+ (/ (PI) 2) b)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))))
37.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
37.3%
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) b) b) #s(literal 1/6 binary64)) b))) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
53.7%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
54.2%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
37.5%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
53.7%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
36.7%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
36.6%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
54.2%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
80.1%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
78.9%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
79.0%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))
62.2%
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
62.1%
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
59.5%
#s(approx (/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (cos.f64 b))) (cos.f64 b)))
37.7%
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))))
58.4%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (/.f64 r (cos.f64 b)) (sin.f64 b) (*.f64 (fma.f64 (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 a) (*.f64 r (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal -1/2 binary64) (pow.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 b))) #s(literal 3 binary64)))))) a)))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
53.8%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (/.f64 (fma.f64 (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64)) #s(literal 1 binary64))) (+.f64 (pow.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) #s(literal 2 binary64)) (*.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) (*.f64 #s(literal 1 binary64) (cos.f64 a))))))) b))
37.4%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
37.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (sin (+ (neg a) (/ (PI) 2))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b))
36.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
36.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
36.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
28.2%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
29.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
37.3%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
Compiler

Compiled 2 831 to 1 970 computations (30.4% saved)

simplify165.0ms (2%)

Memory
0.2MiB live, 234.5MiB allocated; 46ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 (sin.f64 b) r)
cost-diff0
(/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))))
cost-diff10
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
cost-diff0
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
cost-diff0
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
cost-diff0
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
cost-diff0
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b))
cost-diff0
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
cost-diff0
(fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)
cost-diff0
#s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r))
cost-diff0
(*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b)
cost-diff0
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
cost-diff1
(+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))
cost-diff1
(+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))
cost-diff4
(-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068540
0116540
1222536
2611515
32371515
45551515
08043508
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b)))))
(+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))
(pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(neg.f64 (sin.f64 a))
(sin.f64 a)
a
#s(literal 3 binary64)
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 a)
(cos.f64 b)
(+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))
#s(literal 2 binary64)
(-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b)))
(pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))
(*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
(*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b)
#s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r))
(fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)
(*.f64 (*.f64 a a) r)
(*.f64 a a)
a
r
#s(literal 1/2 binary64)
b
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 b b)
b
#s(literal -1/6 binary64)
#s(literal 1 binary64)
r
#s(approx (cos (+ a b)) (cos.f64 b))
(cos.f64 b)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
#s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))
(PI.f64)
#s(literal 1/2 binary64)
(-.f64 (neg.f64 a) b)
(neg.f64 a)
a
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))))
(*.f64 (sin.f64 b) r)
(sin.f64 b)
b
r
(*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))
(cos.f64 (-.f64 b a))
(-.f64 b a)
a
(cos.f64 (+.f64 a b))
(+.f64 a b)
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(*.f64 (/.f64 r (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (*.f64 (sin.f64 b) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))
(-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))
(pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(neg.f64 (sin.f64 a))
(sin.f64 a)
a
#s(literal 3 binary64)
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))
(pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 b) (cos.f64 a))
(cos.f64 a)
(cos.f64 b)
(+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))
(fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))
(pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))
#s(literal 2 binary64)
(-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b)))
(*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 b))))
(pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))
(*.f64 (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b))
(*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a))
(*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r)) b))
(*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b)
(*.f64 #s(approx (/ r (cos a)) (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r)) b)
#s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r))
#s(approx (/ r (cos a)) (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r))
(fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r)
(*.f64 (*.f64 a a) r)
(*.f64 a a)
a
r
#s(literal 1/2 binary64)
b
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b))
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r)
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))
(*.f64 b b)
b
#s(literal -1/6 binary64)
#s(literal 1 binary64)
r
#s(approx (cos (+ a b)) (cos.f64 b))
(cos.f64 b)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
#s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))
(PI.f64)
#s(literal 1/2 binary64)
(-.f64 (neg.f64 a) b)
(neg.f64 a)
a
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))))
(/.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b a))) (cos.f64 (+.f64 a b)))
(*.f64 (sin.f64 b) r)
(sin.f64 b)
b
r
(*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))
(*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 b a)))
(cos.f64 (-.f64 b a))
(-.f64 b a)
a
(cos.f64 (+.f64 a b))
(+.f64 a b)

localize388.0ms (4.6%)

Memory
37.5MiB live, 693.6MiB allocated; 64ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.256364674297186
(/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))))
accuracy0.31640625
(*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))
accuracy13.300069647018017
(cos.f64 (+.f64 a b))
accuracy13.66776808959293
(cos.f64 (-.f64 b a))
accuracy0.015625
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))
accuracy0.1328125
(*.f64 r (sin.f64 b))
accuracy0.234375
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
accuracy41.43394716611497
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
accuracy0.234375
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
accuracy4.2222858057680615
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
accuracy28.613626768912265
#s(approx (cos (+ a b)) (cos.f64 b))
accuracy29.44759473987714
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b))
accuracy0.10546875
(*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b)
accuracy6.837943518516993
(*.f64 (*.f64 a a) r)
accuracy29.438426832392764
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
accuracy31.233513336350498
#s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r))
accuracy0.29820253907376804
(pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))
accuracy0.33638393560039836
(pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))
accuracy0.3834762695368841
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))
accuracy0.5277901856003986
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))
Samples
284.0ms188×1valid
50.0ms68×0valid
Compiler

Compiled 461 to 61 computations (86.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 291.0ms
ival-mult: 56.0ms (19.3% of total)
ival-cos: 51.0ms (17.5% of total)
ival-sin: 40.0ms (13.8% of total)
adjust: 36.0ms (12.4% of total)
ival-pow2: 34.0ms (11.7% of total)
ival-div: 22.0ms (7.6% of total)
ival-pow: 14.0ms (4.8% of total)
ival-add: 13.0ms (4.5% of total)
ival-sub: 12.0ms (4.1% of total)
const: 6.0ms (2.1% of total)
ival-neg: 4.0ms (1.4% of total)
ival-pi: 2.0ms (0.7% of total)
exact: 1.0ms (0.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series164.0ms (2%)

Memory
-49.5MiB live, 209.3MiB allocated; 34ms collecting garbage
Counts
29 → 178
Calls
Call 1
Inputs
(-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b)))
(+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))
(+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
(*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b)
#s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r))
(fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))))
(*.f64 (sin.f64 b) r)
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))
(pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))
(pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))
(*.f64 (*.f64 a a) r)
#s(approx (cos (+ a b)) (cos.f64 b))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))
(cos.f64 (-.f64 b a))
(cos.f64 (+.f64 a b))
(*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))
Outputs
(/ (* r (* (sin b) (- (+ (* (pow (cos a) 2) (pow (cos b) 2)) (* (pow (sin a) 2) (pow (sin b) 2))) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b)))))))) (+ (* -1 (* (pow (sin a) 3) (pow (sin b) 3))) (* (pow (cos a) 3) (pow (cos b) 3))))
(/ (* r (sin b)) (cos (+ a b)))
(/ (* b r) (cos a))
(/ r (cos a))
(* r (+ 1 (* 1/2 (pow a 2))))
(* r (sin b))
(* b (* r (+ 1 (* -1/6 (pow b 2)))))
(* r (+ 1 (* -1/6 (pow b 2))))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/ (* r (sin b)) (* (cos (+ a b)) (cos (- b a))))
(* (pow a 2) r)
(* -1 (* r (- (* -1/2 (pow a 2)) 1)))
(* a (* (cos b) (sin b)))
(* a (- (* a (pow (sin b) 2)) (* -1 (* (cos b) (sin b)))))
(* a (- (* a (+ (* a (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))) (pow (sin b) 2))) (* -1 (* (cos b) (sin b)))))
(* a (- (* a (+ (* a (- (* -1/3 (* a (pow (sin b) 2))) (* -1 (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))))) (pow (sin b) 2))) (* -1 (* (cos b) (sin b)))))
(pow (cos b) 3)
(+ (* -3/2 (* (pow a 2) (pow (cos b) 3))) (pow (cos b) 3))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* -1 (* a (pow (sin b) 3))))) (pow (cos b) 3))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* a (+ (* -1 (pow (sin b) 3)) (* 7/8 (* a (pow (cos b) 3))))))) (pow (cos b) 3))
(pow (cos b) 2)
(+ (* a (* (cos b) (sin b))) (pow (cos b) 2))
(+ (* a (- (* a (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2))) (* -1 (* (cos b) (sin b))))) (pow (cos b) 2))
(+ (* a (- (* a (+ (* -1 (pow (cos b) 2)) (+ (* a (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))) (pow (sin b) 2)))) (* -1 (* (cos b) (sin b))))) (pow (cos b) 2))
(/ (* r (sin b)) (cos b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(+ (* a (+ (* a (- (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2)))) (pow (cos b) 3)) (* -3/2 (/ (* r (sin b)) (cos b))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))
(+ (* a (+ (* a (- (+ (* a (- (/ (* r (* (sin b) (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b)))))) (pow (cos b) 3)) (+ (* -3/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (* -1 (/ (* r (pow (sin b) 4)) (pow (cos b) 4)))))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2)))) (pow (cos b) 3))) (* -3/2 (/ (* r (sin b)) (cos b))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(* b r)
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
r
(+ r (* 1/2 (* (pow a 2) r)))
(+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(+ r (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 r) (+ (* 1/48 r) (* 1/2 (+ (* -1/4 r) (* 1/24 r))))))) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))
(+ (/ (* a (* r (* (cos (- (* 1/2 (PI)) b)) (sin b)))) (pow (sin (- (* 1/2 (PI)) b)) 2)) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (+ (* 1/6 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (/ (* (cos (- (* 1/2 (PI)) b)) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))))) (sin (- (* 1/2 (PI)) b))))))) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(sin (- (* 1/2 (PI)) b))
(+ (sin (- (* 1/2 (PI)) b)) (* -1 (* a (cos (- (* 1/2 (PI)) b)))))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* -1/2 (* a (sin (- (* 1/2 (PI)) b)))))))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* a (+ (* -1/2 (sin (- (* 1/2 (PI)) b))) (* 1/6 (* a (cos (- (* 1/2 (PI)) b)))))))))
(/ (* r (sin b)) (pow (cos b) 2))
(+ (* -1 (/ (* a (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b)))))) (pow (cos b) 4))) (/ (* r (sin b)) (pow (cos b) 2)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4))))) (/ (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))))) (pow (cos b) 4)))) (/ (* r (sin b)) (pow (cos b) 2)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (sin b) (* (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2)))))) (pow (cos b) 6))) (+ (* -1 (/ (* (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4)))) (pow (cos b) 2))) (/ (* r (* (sin b) (+ (* -1/2 (* (cos b) (sin b))) (+ (* -1/6 (* (cos b) (sin b))) (+ (* 1/6 (* (cos b) (sin b))) (* 1/2 (* (cos b) (sin b)))))))) (pow (cos b) 4)))))) (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4))))) (/ (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))))) (pow (cos b) 4)))) (/ (* r (sin b)) (pow (cos b) 2)))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* 7/8 (* (pow a 2) (pow (cos b) 3))))) (pow (cos b) 3))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* (pow a 2) (+ (* -61/240 (* (pow a 2) (pow (cos b) 3))) (* 7/8 (pow (cos b) 3)))))) (pow (cos b) 3))
(+ (* -1 (* (pow a 2) (pow (cos b) 2))) (pow (cos b) 2))
(+ (* (pow a 2) (+ (* -1 (pow (cos b) 2)) (* 1/3 (* (pow a 2) (pow (cos b) 2))))) (pow (cos b) 2))
(+ (* (pow a 2) (+ (* -1 (pow (cos b) 2)) (* (pow a 2) (+ (* -2/45 (* (pow a 2) (pow (cos b) 2))) (* 1/3 (pow (cos b) 2)))))) (pow (cos b) 2))
(* -1 (* (pow a 3) (pow (sin b) 3)))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* 1/2 (* (pow a 2) (pow (sin b) 3)))))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* (pow a 2) (+ (* -13/120 (* (pow a 2) (pow (sin b) 3))) (* 1/2 (pow (sin b) 3))))))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* (pow a 2) (+ (* 1/2 (pow (sin b) 3)) (* (pow a 2) (+ (* -13/120 (pow (sin b) 3)) (* 41/3024 (* (pow a 2) (pow (sin b) 3)))))))))
(* (pow a 2) (pow (sin b) 2))
(* (pow a 2) (+ (* -1/3 (* (pow a 2) (pow (sin b) 2))) (pow (sin b) 2)))
(* (pow a 2) (+ (* (pow a 2) (+ (* -1/3 (pow (sin b) 2)) (* 2/45 (* (pow a 2) (pow (sin b) 2))))) (pow (sin b) 2)))
(* (pow a 2) (+ (* (pow a 2) (+ (* -1/3 (pow (sin b) 2)) (* (pow a 2) (+ (* -1/315 (* (pow a 2) (pow (sin b) 2))) (* 2/45 (pow (sin b) 2)))))) (pow (sin b) 2)))
(cos b)
(+ (cos b) (* -1 (* a (sin b))))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(- (* 1/2 (PI)) b)
(- (+ (* -1 a) (* 1/2 (PI))) b)
(+ (cos b) (* a (sin b)))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (* -1 (sin b)))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* -1/6 (* a (sin b))))) (* -1 (sin b)))))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b)))) (pow (cos b) 2))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (+ (* a (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2)))) (* (cos b) (sin b))))) (pow (cos b) 2))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (+ (* a (+ (* -1 (pow (cos b) 2)) (+ (* -1 (pow (sin b) 2)) (* a (+ (* -1/2 (* (cos b) (sin b))) (+ (* -1/6 (* (cos b) (sin b))) (+ (* 1/6 (* (cos b) (sin b))) (* 1/2 (* (cos b) (sin b)))))))))) (* (cos b) (sin b))))) (pow (cos b) 2))
(- (* (pow (sin a) 2) (pow (sin b) 2)) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b))))))
(+ (* -1 (* (pow (sin a) 3) (pow (sin b) 3))) (* (pow (cos a) 3) (pow (cos b) 3)))
(- (+ (* (pow (cos a) 2) (pow (cos b) 2)) (* (pow (sin a) 2) (pow (sin b) 2))) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b))))))
(* 1/2 (* (pow a 2) r))
(* (pow a 2) (+ (* 1/2 r) (/ r (pow a 2))))
(sin (- (* 1/2 (PI)) (+ a b)))
(* (pow (cos a) 3) (pow (cos b) 3))
(* (pow (cos a) 2) (pow (cos b) 2))
(* -1 (* (pow (sin a) 3) (pow (sin b) 3)))
(* (pow (sin a) 2) (pow (sin b) 2))
(cos (+ a b))
(* -1 a)
(* a (- (* 1/2 (/ (PI) a)) (+ 1 (/ b a))))
(cos (- b a))
(* (cos (+ a b)) (cos (- b a)))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))
(sin (- (+ (* -1 a) (* 1/2 (PI))) b))
(/ (* r (sin b)) (* (cos (+ b (* -1 a))) (cos (- b (* -1 a)))))
(cos (- b (* -1 a)))
(* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))
(cos (+ b (* -1 a)))
(* (cos (+ b (* -1 a))) (cos (- b (* -1 a))))
(* b (* (cos a) (sin a)))
(* b (- (* b (pow (sin a) 2)) (* -1 (* (cos a) (sin a)))))
(* b (- (* b (+ (* b (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))) (pow (sin a) 2))) (* -1 (* (cos a) (sin a)))))
(* b (- (* b (+ (* b (- (* -1/3 (* b (pow (sin a) 2))) (* -1 (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))))) (pow (sin a) 2))) (* -1 (* (cos a) (sin a)))))
(pow (cos a) 3)
(+ (* -3/2 (* (pow b 2) (pow (cos a) 3))) (pow (cos a) 3))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* -1 (* b (pow (sin a) 3))))) (pow (cos a) 3))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* b (+ (* -1 (pow (sin a) 3)) (* 7/8 (* b (pow (cos a) 3))))))) (pow (cos a) 3))
(pow (cos a) 2)
(+ (* b (* (cos a) (sin a))) (pow (cos a) 2))
(+ (* b (- (* b (+ (* -1 (pow (cos a) 2)) (pow (sin a) 2))) (* -1 (* (cos a) (sin a))))) (pow (cos a) 2))
(+ (* b (- (* b (+ (* -1 (pow (cos a) 2)) (+ (* b (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))) (pow (sin a) 2)))) (* -1 (* (cos a) (sin a))))) (pow (cos a) 2))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(* b (+ (* b (+ (* b (- (/ (* r (+ (* -1 (pow (cos a) 2)) (+ (* -1/6 (pow (cos a) 2)) (pow (sin a) 2)))) (pow (cos a) 3)) (* -3/2 (/ r (cos a))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))
(* b (+ (* b (+ (* b (- (+ (* b (- (/ (* r (+ (* -1/6 (* (cos a) (sin a))) (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a)))))) (pow (cos a) 3)) (+ (* -3/2 (/ (* r (sin a)) (pow (cos a) 2))) (* -1 (/ (* r (pow (sin a) 3)) (pow (cos a) 4)))))) (/ (* r (+ (* -1 (pow (cos a) 2)) (+ (* -1/6 (pow (cos a) 2)) (pow (sin a) 2)))) (pow (cos a) 3))) (* -3/2 (/ r (cos a))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ r (* -1/6 (* (pow b 2) r))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
(+ r (* -1/6 (* (pow b 2) r)))
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(* b (+ (/ r (sin (- (* 1/2 (PI)) a))) (/ (* b (* r (cos (- (* 1/2 (PI)) a)))) (pow (sin (- (* 1/2 (PI)) a)) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (cos (- (* 1/2 (PI)) a)) (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (sin (- (* 1/2 (PI)) a)))) (+ (* -1/2 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))) (* 1/6 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))))) (* -1/6 (/ r (sin (- (* 1/2 (PI)) a))))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(sin (- (* 1/2 (PI)) a))
(+ (sin (- (* 1/2 (PI)) a)) (* -1 (* b (cos (- (* 1/2 (PI)) a)))))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* -1/2 (* b (sin (- (* 1/2 (PI)) a)))))))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* b (+ (* -1/2 (sin (- (* 1/2 (PI)) a))) (* 1/6 (* b (cos (- (* 1/2 (PI)) a)))))))))
(/ (* b r) (* (cos a) (cos (neg a))))
(* b (+ (* -1 (/ (* b (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))) (/ r (* (cos a) (cos (neg a))))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (* (cos a) (cos (neg a))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (/ (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))))) (/ r (* (cos a) (cos (neg a))))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* r (* (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a)))) (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))))) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (+ (/ (* r (+ (* 1/6 (* (cos a) (sin (neg a)))) (+ (* 1/6 (* (cos (neg a)) (sin a))) (+ (* 1/2 (* (cos a) (sin (neg a)))) (* 1/2 (* (cos (neg a)) (sin a))))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))) (/ (* (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) (- (* -1/6 (/ r (* (cos a) (cos (neg a))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (* (cos a) (cos (neg a)))))))) (* -1/6 (/ r (* (cos a) (cos (neg a)))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (/ (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))))) (/ r (* (cos a) (cos (neg a))))))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* 7/8 (* (pow b 2) (pow (cos a) 3))))) (pow (cos a) 3))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* (pow b 2) (+ (* -61/240 (* (pow b 2) (pow (cos a) 3))) (* 7/8 (pow (cos a) 3)))))) (pow (cos a) 3))
(+ (* -1 (* (pow b 2) (pow (cos a) 2))) (pow (cos a) 2))
(+ (* (pow b 2) (+ (* -1 (pow (cos a) 2)) (* 1/3 (* (pow b 2) (pow (cos a) 2))))) (pow (cos a) 2))
(+ (* (pow b 2) (+ (* -1 (pow (cos a) 2)) (* (pow b 2) (+ (* -2/45 (* (pow b 2) (pow (cos a) 2))) (* 1/3 (pow (cos a) 2)))))) (pow (cos a) 2))
(* -1 (* (pow b 3) (pow (sin a) 3)))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* 1/2 (* (pow b 2) (pow (sin a) 3)))))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* (pow b 2) (+ (* -13/120 (* (pow b 2) (pow (sin a) 3))) (* 1/2 (pow (sin a) 3))))))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* (pow b 2) (+ (* 1/2 (pow (sin a) 3)) (* (pow b 2) (+ (* -13/120 (pow (sin a) 3)) (* 41/3024 (* (pow b 2) (pow (sin a) 3)))))))))
(* (pow b 2) (pow (sin a) 2))
(* (pow b 2) (+ (* -1/3 (* (pow b 2) (pow (sin a) 2))) (pow (sin a) 2)))
(* (pow b 2) (+ (* (pow b 2) (+ (* -1/3 (pow (sin a) 2)) (* 2/45 (* (pow b 2) (pow (sin a) 2))))) (pow (sin a) 2)))
(* (pow b 2) (+ (* (pow b 2) (+ (* -1/3 (pow (sin a) 2)) (* (pow b 2) (+ (* -1/315 (* (pow b 2) (pow (sin a) 2))) (* 2/45 (pow (sin a) 2)))))) (pow (sin a) 2)))
(cos a)
(+ (cos a) (* -1 (* b (sin a))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(- (* 1/2 (PI)) a)
(- (+ (* -1 b) (* 1/2 (PI))) a)
(cos (neg a))
(+ (cos (neg a)) (* -1 (* b (sin (neg a)))))
(+ (cos (neg a)) (* b (- (* -1/2 (* b (cos (neg a)))) (sin (neg a)))))
(+ (cos (neg a)) (* b (- (* b (+ (* -1/2 (cos (neg a))) (* 1/6 (* b (sin (neg a)))))) (sin (neg a)))))
(* (cos a) (cos (neg a)))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (cos a) (cos (neg a))))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (+ (* -1 (* (cos (neg a)) (sin a))) (* b (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a)))))))) (* (cos a) (cos (neg a))))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (+ (* -1 (* (cos (neg a)) (sin a))) (* b (+ (* -1 (* (cos a) (cos (neg a)))) (+ (* b (+ (* 1/6 (* (cos a) (sin (neg a)))) (+ (* 1/6 (* (cos (neg a)) (sin a))) (+ (* 1/2 (* (cos a) (sin (neg a)))) (* 1/2 (* (cos (neg a)) (sin a))))))) (* (sin a) (sin (neg a))))))))) (* (cos a) (cos (neg a))))
(* -1/6 (* (pow b 3) r))
(* (pow b 3) (+ (* -1/6 r) (/ r (pow b 2))))
(* -1/6 (* (pow b 2) r))
(* (pow b 2) (+ (* -1/6 r) (/ r (pow b 2))))
(sin b)
(* -1 b)
(* b (- (* 1/2 (/ (PI) b)) (+ 1 (/ a b))))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(* -1 (* (pow b 3) (+ (* -1 (/ r (pow b 2))) (* 1/6 r))))
(/ (* r (sin b)) (sin (- (+ (* -1 b) (* 1/2 (PI))) a)))
(sin (- (+ (* -1 b) (* 1/2 (PI))) a))
(/ (* r (sin b)) (* (cos (neg (+ a (* -1 b)))) (cos (- a (* -1 b)))))
(cos (- a (* -1 b)))
(* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))
(cos (neg (+ a (* -1 b))))
(* (cos (neg (+ a (* -1 b)))) (cos (- a (* -1 b))))
Calls

9 calls:

TimeVariablePointExpression
37.0ms
r
@0
((- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b))) (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))) (/ (* r (sin b)) (/ (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (+ (* (* (* a a) r) 1/2) r) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (* (+ (* (* b b) -1/6) 1) r) b) (* (+ (* (* b b) -1/6) 1) r) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (* r (sin b)) (sin b) (sin (+ (- (neg b) a) (/ (PI) 2))) (* (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (cos (- b a))) (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (* (sin b) r) (pow (* (cos a) (cos b)) 3) (pow (* (cos a) (cos b)) 2) (pow (* (neg (sin a)) (sin b)) 3) (pow (* (sin a) (sin b)) 2) (* (* a a) r) (cos (+ a b)) (+ (* (PI) 1/2) (- (neg a) b)) (cos (- b a)) (cos (+ a b)) (* (cos (- b a)) (cos (+ a b))))
33.0ms
a
@inf
((- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b))) (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))) (/ (* r (sin b)) (/ (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (+ (* (* (* a a) r) 1/2) r) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (* (+ (* (* b b) -1/6) 1) r) b) (* (+ (* (* b b) -1/6) 1) r) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (* r (sin b)) (sin b) (sin (+ (- (neg b) a) (/ (PI) 2))) (* (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (cos (- b a))) (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (* (sin b) r) (pow (* (cos a) (cos b)) 3) (pow (* (cos a) (cos b)) 2) (pow (* (neg (sin a)) (sin b)) 3) (pow (* (sin a) (sin b)) 2) (* (* a a) r) (cos (+ a b)) (+ (* (PI) 1/2) (- (neg a) b)) (cos (- b a)) (cos (+ a b)) (* (cos (- b a)) (cos (+ a b))))
25.0ms
b
@0
((- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b))) (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))) (/ (* r (sin b)) (/ (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (+ (* (* (* a a) r) 1/2) r) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (* (+ (* (* b b) -1/6) 1) r) b) (* (+ (* (* b b) -1/6) 1) r) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (* r (sin b)) (sin b) (sin (+ (- (neg b) a) (/ (PI) 2))) (* (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (cos (- b a))) (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (* (sin b) r) (pow (* (cos a) (cos b)) 3) (pow (* (cos a) (cos b)) 2) (pow (* (neg (sin a)) (sin b)) 3) (pow (* (sin a) (sin b)) 2) (* (* a a) r) (cos (+ a b)) (+ (* (PI) 1/2) (- (neg a) b)) (cos (- b a)) (cos (+ a b)) (* (cos (- b a)) (cos (+ a b))))
14.0ms
b
@-inf
((- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b))) (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))) (/ (* r (sin b)) (/ (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (+ (* (* (* a a) r) 1/2) r) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (* (+ (* (* b b) -1/6) 1) r) b) (* (+ (* (* b b) -1/6) 1) r) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (* r (sin b)) (sin b) (sin (+ (- (neg b) a) (/ (PI) 2))) (* (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (cos (- b a))) (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (* (sin b) r) (pow (* (cos a) (cos b)) 3) (pow (* (cos a) (cos b)) 2) (pow (* (neg (sin a)) (sin b)) 3) (pow (* (sin a) (sin b)) 2) (* (* a a) r) (cos (+ a b)) (+ (* (PI) 1/2) (- (neg a) b)) (cos (- b a)) (cos (+ a b)) (* (cos (- b a)) (cos (+ a b))))
13.0ms
r
@inf
((- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b))) (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))) (/ (* r (sin b)) (/ (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))))) (/ (* r (sin b)) (cos (+ a b))) (* (/ r (cos a)) b) (/ r (cos a)) (+ (* (* (* a a) r) 1/2) r) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (* (+ (* (* b b) -1/6) 1) r) b) (* (+ (* (* b b) -1/6) 1) r) (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (* r (sin b)) (sin b) (sin (+ (- (neg b) a) (/ (PI) 2))) (* (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (cos (- b a))) (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (* (sin b) r) (pow (* (cos a) (cos b)) 3) (pow (* (cos a) (cos b)) 2) (pow (* (neg (sin a)) (sin b)) 3) (pow (* (sin a) (sin b)) 2) (* (* a a) r) (cos (+ a b)) (+ (* (PI) 1/2) (- (neg a) b)) (cos (- b a)) (cos (+ a b)) (* (cos (- b a)) (cos (+ a b))))

simplify164.0ms (2%)

Memory
-2.7MiB live, 233.5MiB allocated; 16ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08964493
133133993
083643761
Stop Event
iter limit
node limit
Counts
178 → 176
Calls
Call 1
Inputs
(/ (* r (* (sin b) (- (+ (* (pow (cos a) 2) (pow (cos b) 2)) (* (pow (sin a) 2) (pow (sin b) 2))) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b)))))))) (+ (* -1 (* (pow (sin a) 3) (pow (sin b) 3))) (* (pow (cos a) 3) (pow (cos b) 3))))
(/ (* r (sin b)) (cos (+ a b)))
(/ (* b r) (cos a))
(/ r (cos a))
(* r (+ 1 (* 1/2 (pow a 2))))
(* r (sin b))
(* b (* r (+ 1 (* -1/6 (pow b 2)))))
(* r (+ 1 (* -1/6 (pow b 2))))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/ (* r (sin b)) (* (cos (+ a b)) (cos (- b a))))
(* (pow a 2) r)
(* -1 (* r (- (* -1/2 (pow a 2)) 1)))
(* a (* (cos b) (sin b)))
(* a (- (* a (pow (sin b) 2)) (* -1 (* (cos b) (sin b)))))
(* a (- (* a (+ (* a (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))) (pow (sin b) 2))) (* -1 (* (cos b) (sin b)))))
(* a (- (* a (+ (* a (- (* -1/3 (* a (pow (sin b) 2))) (* -1 (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))))) (pow (sin b) 2))) (* -1 (* (cos b) (sin b)))))
(pow (cos b) 3)
(+ (* -3/2 (* (pow a 2) (pow (cos b) 3))) (pow (cos b) 3))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* -1 (* a (pow (sin b) 3))))) (pow (cos b) 3))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* a (+ (* -1 (pow (sin b) 3)) (* 7/8 (* a (pow (cos b) 3))))))) (pow (cos b) 3))
(pow (cos b) 2)
(+ (* a (* (cos b) (sin b))) (pow (cos b) 2))
(+ (* a (- (* a (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2))) (* -1 (* (cos b) (sin b))))) (pow (cos b) 2))
(+ (* a (- (* a (+ (* -1 (pow (cos b) 2)) (+ (* a (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))) (pow (sin b) 2)))) (* -1 (* (cos b) (sin b))))) (pow (cos b) 2))
(/ (* r (sin b)) (cos b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(+ (* a (+ (* a (- (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2)))) (pow (cos b) 3)) (* -3/2 (/ (* r (sin b)) (cos b))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))
(+ (* a (+ (* a (- (+ (* a (- (/ (* r (* (sin b) (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b)))))) (pow (cos b) 3)) (+ (* -3/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (* -1 (/ (* r (pow (sin b) 4)) (pow (cos b) 4)))))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2)))) (pow (cos b) 3))) (* -3/2 (/ (* r (sin b)) (cos b))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(* b r)
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
r
(+ r (* 1/2 (* (pow a 2) r)))
(+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(+ r (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 r) (+ (* 1/48 r) (* 1/2 (+ (* -1/4 r) (* 1/24 r))))))) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))
(+ (/ (* a (* r (* (cos (- (* 1/2 (PI)) b)) (sin b)))) (pow (sin (- (* 1/2 (PI)) b)) 2)) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (+ (* 1/6 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (/ (* (cos (- (* 1/2 (PI)) b)) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))))) (sin (- (* 1/2 (PI)) b))))))) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(sin (- (* 1/2 (PI)) b))
(+ (sin (- (* 1/2 (PI)) b)) (* -1 (* a (cos (- (* 1/2 (PI)) b)))))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* -1/2 (* a (sin (- (* 1/2 (PI)) b)))))))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* a (+ (* -1/2 (sin (- (* 1/2 (PI)) b))) (* 1/6 (* a (cos (- (* 1/2 (PI)) b)))))))))
(/ (* r (sin b)) (pow (cos b) 2))
(+ (* -1 (/ (* a (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b)))))) (pow (cos b) 4))) (/ (* r (sin b)) (pow (cos b) 2)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4))))) (/ (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))))) (pow (cos b) 4)))) (/ (* r (sin b)) (pow (cos b) 2)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (sin b) (* (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2)))))) (pow (cos b) 6))) (+ (* -1 (/ (* (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4)))) (pow (cos b) 2))) (/ (* r (* (sin b) (+ (* -1/2 (* (cos b) (sin b))) (+ (* -1/6 (* (cos b) (sin b))) (+ (* 1/6 (* (cos b) (sin b))) (* 1/2 (* (cos b) (sin b)))))))) (pow (cos b) 4)))))) (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4))))) (/ (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))))) (pow (cos b) 4)))) (/ (* r (sin b)) (pow (cos b) 2)))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* 7/8 (* (pow a 2) (pow (cos b) 3))))) (pow (cos b) 3))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* (pow a 2) (+ (* -61/240 (* (pow a 2) (pow (cos b) 3))) (* 7/8 (pow (cos b) 3)))))) (pow (cos b) 3))
(+ (* -1 (* (pow a 2) (pow (cos b) 2))) (pow (cos b) 2))
(+ (* (pow a 2) (+ (* -1 (pow (cos b) 2)) (* 1/3 (* (pow a 2) (pow (cos b) 2))))) (pow (cos b) 2))
(+ (* (pow a 2) (+ (* -1 (pow (cos b) 2)) (* (pow a 2) (+ (* -2/45 (* (pow a 2) (pow (cos b) 2))) (* 1/3 (pow (cos b) 2)))))) (pow (cos b) 2))
(* -1 (* (pow a 3) (pow (sin b) 3)))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* 1/2 (* (pow a 2) (pow (sin b) 3)))))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* (pow a 2) (+ (* -13/120 (* (pow a 2) (pow (sin b) 3))) (* 1/2 (pow (sin b) 3))))))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* (pow a 2) (+ (* 1/2 (pow (sin b) 3)) (* (pow a 2) (+ (* -13/120 (pow (sin b) 3)) (* 41/3024 (* (pow a 2) (pow (sin b) 3)))))))))
(* (pow a 2) (pow (sin b) 2))
(* (pow a 2) (+ (* -1/3 (* (pow a 2) (pow (sin b) 2))) (pow (sin b) 2)))
(* (pow a 2) (+ (* (pow a 2) (+ (* -1/3 (pow (sin b) 2)) (* 2/45 (* (pow a 2) (pow (sin b) 2))))) (pow (sin b) 2)))
(* (pow a 2) (+ (* (pow a 2) (+ (* -1/3 (pow (sin b) 2)) (* (pow a 2) (+ (* -1/315 (* (pow a 2) (pow (sin b) 2))) (* 2/45 (pow (sin b) 2)))))) (pow (sin b) 2)))
(cos b)
(+ (cos b) (* -1 (* a (sin b))))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(- (* 1/2 (PI)) b)
(- (+ (* -1 a) (* 1/2 (PI))) b)
(+ (cos b) (* a (sin b)))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (* -1 (sin b)))))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* -1/6 (* a (sin b))))) (* -1 (sin b)))))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b)))) (pow (cos b) 2))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (+ (* a (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2)))) (* (cos b) (sin b))))) (pow (cos b) 2))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (+ (* a (+ (* -1 (pow (cos b) 2)) (+ (* -1 (pow (sin b) 2)) (* a (+ (* -1/2 (* (cos b) (sin b))) (+ (* -1/6 (* (cos b) (sin b))) (+ (* 1/6 (* (cos b) (sin b))) (* 1/2 (* (cos b) (sin b)))))))))) (* (cos b) (sin b))))) (pow (cos b) 2))
(- (* (pow (sin a) 2) (pow (sin b) 2)) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b))))))
(+ (* -1 (* (pow (sin a) 3) (pow (sin b) 3))) (* (pow (cos a) 3) (pow (cos b) 3)))
(- (+ (* (pow (cos a) 2) (pow (cos b) 2)) (* (pow (sin a) 2) (pow (sin b) 2))) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b))))))
(* 1/2 (* (pow a 2) r))
(* (pow a 2) (+ (* 1/2 r) (/ r (pow a 2))))
(sin (- (* 1/2 (PI)) (+ a b)))
(* (pow (cos a) 3) (pow (cos b) 3))
(* (pow (cos a) 2) (pow (cos b) 2))
(* -1 (* (pow (sin a) 3) (pow (sin b) 3)))
(* (pow (sin a) 2) (pow (sin b) 2))
(cos (+ a b))
(* -1 a)
(* a (- (* 1/2 (/ (PI) a)) (+ 1 (/ b a))))
(cos (- b a))
(* (cos (+ a b)) (cos (- b a)))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))
(sin (- (+ (* -1 a) (* 1/2 (PI))) b))
(/ (* r (sin b)) (* (cos (+ b (* -1 a))) (cos (- b (* -1 a)))))
(cos (- b (* -1 a)))
(* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))
(cos (+ b (* -1 a)))
(* (cos (+ b (* -1 a))) (cos (- b (* -1 a))))
(* b (* (cos a) (sin a)))
(* b (- (* b (pow (sin a) 2)) (* -1 (* (cos a) (sin a)))))
(* b (- (* b (+ (* b (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))) (pow (sin a) 2))) (* -1 (* (cos a) (sin a)))))
(* b (- (* b (+ (* b (- (* -1/3 (* b (pow (sin a) 2))) (* -1 (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))))) (pow (sin a) 2))) (* -1 (* (cos a) (sin a)))))
(pow (cos a) 3)
(+ (* -3/2 (* (pow b 2) (pow (cos a) 3))) (pow (cos a) 3))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* -1 (* b (pow (sin a) 3))))) (pow (cos a) 3))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* b (+ (* -1 (pow (sin a) 3)) (* 7/8 (* b (pow (cos a) 3))))))) (pow (cos a) 3))
(pow (cos a) 2)
(+ (* b (* (cos a) (sin a))) (pow (cos a) 2))
(+ (* b (- (* b (+ (* -1 (pow (cos a) 2)) (pow (sin a) 2))) (* -1 (* (cos a) (sin a))))) (pow (cos a) 2))
(+ (* b (- (* b (+ (* -1 (pow (cos a) 2)) (+ (* b (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))) (pow (sin a) 2)))) (* -1 (* (cos a) (sin a))))) (pow (cos a) 2))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(* b (+ (* b (+ (* b (- (/ (* r (+ (* -1 (pow (cos a) 2)) (+ (* -1/6 (pow (cos a) 2)) (pow (sin a) 2)))) (pow (cos a) 3)) (* -3/2 (/ r (cos a))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))
(* b (+ (* b (+ (* b (- (+ (* b (- (/ (* r (+ (* -1/6 (* (cos a) (sin a))) (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a)))))) (pow (cos a) 3)) (+ (* -3/2 (/ (* r (sin a)) (pow (cos a) 2))) (* -1 (/ (* r (pow (sin a) 3)) (pow (cos a) 4)))))) (/ (* r (+ (* -1 (pow (cos a) 2)) (+ (* -1/6 (pow (cos a) 2)) (pow (sin a) 2)))) (pow (cos a) 3))) (* -3/2 (/ r (cos a))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(* b (+ r (* -1/6 (* (pow b 2) r))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
(+ r (* -1/6 (* (pow b 2) r)))
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(* b (+ (/ r (sin (- (* 1/2 (PI)) a))) (/ (* b (* r (cos (- (* 1/2 (PI)) a)))) (pow (sin (- (* 1/2 (PI)) a)) 2))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (cos (- (* 1/2 (PI)) a)) (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (sin (- (* 1/2 (PI)) a)))) (+ (* -1/2 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))) (* 1/6 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))))) (* -1/6 (/ r (sin (- (* 1/2 (PI)) a))))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
b
(* b (+ 1 (* -1/6 (pow b 2))))
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(sin (- (* 1/2 (PI)) a))
(+ (sin (- (* 1/2 (PI)) a)) (* -1 (* b (cos (- (* 1/2 (PI)) a)))))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* -1/2 (* b (sin (- (* 1/2 (PI)) a)))))))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* b (+ (* -1/2 (sin (- (* 1/2 (PI)) a))) (* 1/6 (* b (cos (- (* 1/2 (PI)) a)))))))))
(/ (* b r) (* (cos a) (cos (neg a))))
(* b (+ (* -1 (/ (* b (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))) (/ r (* (cos a) (cos (neg a))))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (* (cos a) (cos (neg a))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (/ (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))))) (/ r (* (cos a) (cos (neg a))))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* r (* (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a)))) (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))))) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (+ (/ (* r (+ (* 1/6 (* (cos a) (sin (neg a)))) (+ (* 1/6 (* (cos (neg a)) (sin a))) (+ (* 1/2 (* (cos a) (sin (neg a)))) (* 1/2 (* (cos (neg a)) (sin a))))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))) (/ (* (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) (- (* -1/6 (/ r (* (cos a) (cos (neg a))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (* (cos a) (cos (neg a)))))))) (* -1/6 (/ r (* (cos a) (cos (neg a)))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (/ (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))))) (/ r (* (cos a) (cos (neg a))))))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* 7/8 (* (pow b 2) (pow (cos a) 3))))) (pow (cos a) 3))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* (pow b 2) (+ (* -61/240 (* (pow b 2) (pow (cos a) 3))) (* 7/8 (pow (cos a) 3)))))) (pow (cos a) 3))
(+ (* -1 (* (pow b 2) (pow (cos a) 2))) (pow (cos a) 2))
(+ (* (pow b 2) (+ (* -1 (pow (cos a) 2)) (* 1/3 (* (pow b 2) (pow (cos a) 2))))) (pow (cos a) 2))
(+ (* (pow b 2) (+ (* -1 (pow (cos a) 2)) (* (pow b 2) (+ (* -2/45 (* (pow b 2) (pow (cos a) 2))) (* 1/3 (pow (cos a) 2)))))) (pow (cos a) 2))
(* -1 (* (pow b 3) (pow (sin a) 3)))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* 1/2 (* (pow b 2) (pow (sin a) 3)))))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* (pow b 2) (+ (* -13/120 (* (pow b 2) (pow (sin a) 3))) (* 1/2 (pow (sin a) 3))))))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* (pow b 2) (+ (* 1/2 (pow (sin a) 3)) (* (pow b 2) (+ (* -13/120 (pow (sin a) 3)) (* 41/3024 (* (pow b 2) (pow (sin a) 3)))))))))
(* (pow b 2) (pow (sin a) 2))
(* (pow b 2) (+ (* -1/3 (* (pow b 2) (pow (sin a) 2))) (pow (sin a) 2)))
(* (pow b 2) (+ (* (pow b 2) (+ (* -1/3 (pow (sin a) 2)) (* 2/45 (* (pow b 2) (pow (sin a) 2))))) (pow (sin a) 2)))
(* (pow b 2) (+ (* (pow b 2) (+ (* -1/3 (pow (sin a) 2)) (* (pow b 2) (+ (* -1/315 (* (pow b 2) (pow (sin a) 2))) (* 2/45 (pow (sin a) 2)))))) (pow (sin a) 2)))
(cos a)
(+ (cos a) (* -1 (* b (sin a))))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(- (* 1/2 (PI)) a)
(- (+ (* -1 b) (* 1/2 (PI))) a)
(cos (neg a))
(+ (cos (neg a)) (* -1 (* b (sin (neg a)))))
(+ (cos (neg a)) (* b (- (* -1/2 (* b (cos (neg a)))) (sin (neg a)))))
(+ (cos (neg a)) (* b (- (* b (+ (* -1/2 (cos (neg a))) (* 1/6 (* b (sin (neg a)))))) (sin (neg a)))))
(* (cos a) (cos (neg a)))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (cos a) (cos (neg a))))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (+ (* -1 (* (cos (neg a)) (sin a))) (* b (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a)))))))) (* (cos a) (cos (neg a))))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (+ (* -1 (* (cos (neg a)) (sin a))) (* b (+ (* -1 (* (cos a) (cos (neg a)))) (+ (* b (+ (* 1/6 (* (cos a) (sin (neg a)))) (+ (* 1/6 (* (cos (neg a)) (sin a))) (+ (* 1/2 (* (cos a) (sin (neg a)))) (* 1/2 (* (cos (neg a)) (sin a))))))) (* (sin a) (sin (neg a))))))))) (* (cos a) (cos (neg a))))
(* -1/6 (* (pow b 3) r))
(* (pow b 3) (+ (* -1/6 r) (/ r (pow b 2))))
(* -1/6 (* (pow b 2) r))
(* (pow b 2) (+ (* -1/6 r) (/ r (pow b 2))))
(sin b)
(* -1 b)
(* b (- (* 1/2 (/ (PI) b)) (+ 1 (/ a b))))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(* -1 (* (pow b 3) (+ (* -1 (/ r (pow b 2))) (* 1/6 r))))
(/ (* r (sin b)) (sin (- (+ (* -1 b) (* 1/2 (PI))) a)))
(sin (- (+ (* -1 b) (* 1/2 (PI))) a))
(/ (* r (sin b)) (* (cos (neg (+ a (* -1 b)))) (cos (- a (* -1 b)))))
(cos (- a (* -1 b)))
(* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))
(cos (neg (+ a (* -1 b))))
(* (cos (neg (+ a (* -1 b)))) (cos (- a (* -1 b))))
Outputs
(/ (* r (* (sin b) (- (+ (* (pow (cos a) 2) (pow (cos b) 2)) (* (pow (sin a) 2) (pow (sin b) 2))) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b)))))))) (+ (* -1 (* (pow (sin a) 3) (pow (sin b) 3))) (* (pow (cos a) 3) (pow (cos b) 3))))
(/.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (fma.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 b)) (cos.f64 a)))) (sin.f64 b)) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))))
(/ (* r (sin b)) (cos (+ a b)))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/ (* b r) (cos a))
(*.f64 b (/.f64 r (cos.f64 a)))
(/ r (cos a))
(/.f64 r (cos.f64 a))
(* r (+ 1 (* 1/2 (pow a 2))))
(*.f64 (fma.f64 (*.f64 a a) #s(literal 1/2 binary64) #s(literal 1 binary64)) r)
(* r (sin b))
(*.f64 (sin.f64 b) r)
(* b (* r (+ 1 (* -1/6 (pow b 2)))))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(* r (+ 1 (* -1/6 (pow b 2))))
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b)))
(/ (* r (sin b)) (* (cos (+ a b)) (cos (- b a))))
(/.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(* (pow a 2) r)
(*.f64 (*.f64 a a) r)
(* -1 (* r (- (* -1/2 (pow a 2)) 1)))
(*.f64 (neg.f64 r) (-.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 a a)) #s(literal 1 binary64)))
(* a (* (cos b) (sin b)))
(*.f64 (*.f64 (cos.f64 b) a) (sin.f64 b))
(* a (- (* a (pow (sin b) 2)) (* -1 (* (cos b) (sin b)))))
(*.f64 (fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) a (*.f64 (cos.f64 b) (sin.f64 b))) a)
(* a (- (* a (+ (* a (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))) (pow (sin b) 2))) (* -1 (* (cos b) (sin b)))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 b) (sin.f64 b)) #s(literal -2/3 binary64)) a (pow.f64 (sin.f64 b) #s(literal 2 binary64))) a (*.f64 (cos.f64 b) (sin.f64 b))) a)
(* a (- (* a (+ (* a (- (* -1/3 (* a (pow (sin b) 2))) (* -1 (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))))) (pow (sin b) 2))) (* -1 (* (cos b) (sin b)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/3 binary64) a) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (sin.f64 b)) #s(literal -2/3 binary64))) a (pow.f64 (sin.f64 b) #s(literal 2 binary64))) a (*.f64 (cos.f64 b) (sin.f64 b))) a)
(pow (cos b) 3)
(pow.f64 (cos.f64 b) #s(literal 3 binary64))
(+ (* -3/2 (* (pow a 2) (pow (cos b) 3))) (pow (cos b) 3))
(*.f64 (fma.f64 #s(literal -3/2 binary64) (*.f64 a a) #s(literal 1 binary64)) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* -1 (* a (pow (sin b) 3))))) (pow (cos b) 3))
(fma.f64 (fma.f64 (neg.f64 a) (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (*.f64 #s(literal -3/2 binary64) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))) (*.f64 a a) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* a (+ (* -1 (pow (sin b) 3)) (* 7/8 (* a (pow (cos b) 3))))))) (pow (cos b) 3))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 7/8 binary64) a) (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (neg.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)))) a (*.f64 #s(literal -3/2 binary64) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))) (*.f64 a a) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))
(pow (cos b) 2)
(pow.f64 (cos.f64 b) #s(literal 2 binary64))
(+ (* a (* (cos b) (sin b))) (pow (cos b) 2))
(fma.f64 (*.f64 (cos.f64 b) a) (sin.f64 b) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(+ (* a (- (* a (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2))) (* -1 (* (cos b) (sin b))))) (pow (cos b) 2))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1 binary64) (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64))) a (*.f64 (cos.f64 b) (sin.f64 b))) a (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(+ (* a (- (* a (+ (* -1 (pow (cos b) 2)) (+ (* a (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b))))) (pow (sin b) 2)))) (* -1 (* (cos b) (sin b))))) (pow (cos b) 2))
(fma.f64 (fma.f64 (fma.f64 (neg.f64 (cos.f64 b)) (cos.f64 b) (fma.f64 (*.f64 (*.f64 (cos.f64 b) (sin.f64 b)) #s(literal -2/3 binary64)) a (pow.f64 (sin.f64 b) #s(literal 2 binary64)))) a (*.f64 (cos.f64 b) (sin.f64 b))) a (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(/ (* r (sin b)) (cos b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))
(fma.f64 r (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (pow.f64 (cos.f64 b) #s(literal 2 binary64))))
(+ (* a (+ (* a (- (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2)))) (pow (cos b) 3)) (* -3/2 (/ (* r (sin b)) (cos b))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))
(fma.f64 (fma.f64 (fma.f64 r (/.f64 (fma.f64 (neg.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (sin.f64 b) (pow.f64 (sin.f64 b) #s(literal 3 binary64))) (pow.f64 (cos.f64 b) #s(literal 3 binary64))) (/.f64 (*.f64 #s(literal 3/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b))) a (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) a (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+ (* a (+ (* a (- (+ (* a (- (/ (* r (* (sin b) (+ (* -1/2 (* (cos b) (sin b))) (* -1/6 (* (cos b) (sin b)))))) (pow (cos b) 3)) (+ (* -3/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (* -1 (/ (* r (pow (sin b) 4)) (pow (cos b) 4)))))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (pow (sin b) 2)))) (pow (cos b) 3))) (* -3/2 (/ (* r (sin b)) (cos b))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))
(fma.f64 (fma.f64 (fma.f64 (+.f64 (fma.f64 r (/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 b) (sin.f64 b)) #s(literal -2/3 binary64)) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 3 binary64))) (*.f64 #s(literal 3/2 binary64) (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 4 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 4 binary64)))) a (fma.f64 r (/.f64 (fma.f64 (neg.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (sin.f64 b) (pow.f64 (sin.f64 b) #s(literal 3 binary64))) (pow.f64 (cos.f64 b) #s(literal 3 binary64))) (/.f64 (*.f64 #s(literal 3/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b)))) a (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) a (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(fma.f64 (fma.f64 (neg.f64 a) (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) a (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 3)) (pow (cos b) 3))) (* -1/2 (/ (* r (sin b)) (cos b)))))) (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))))) (/ (* r (sin b)) (cos b)))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))) #s(literal -1/3 binary64) (/.f64 (*.f64 (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b))) (sin.f64 b)) (cos.f64 b)))) (fma.f64 (neg.f64 r) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b)))) a (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) a (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(* b r)
(*.f64 r b)
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(*.f64 (fma.f64 (*.f64 a a) #s(literal 1/2 binary64) #s(literal 1 binary64)) (*.f64 r b))
(+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(fma.f64 (fma.f64 (*.f64 (neg.f64 a) a) (*.f64 (*.f64 r b) #s(literal -5/24 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 r b))) (*.f64 a a) (*.f64 r b))
(+ (* b r) (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 (* b r)) (+ (* 1/48 (* b r)) (* 1/2 (+ (* -1/4 (* b r)) (* 1/24 (* b r)))))))) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (neg.f64 a) a) (fma.f64 (*.f64 r b) #s(literal 7/360 binary64) (*.f64 (*.f64 (*.f64 r b) #s(literal -5/24 binary64)) #s(literal 1/2 binary64))) (*.f64 (*.f64 (neg.f64 b) r) #s(literal -5/24 binary64))) (*.f64 a a) (*.f64 #s(literal 1/2 binary64) (*.f64 r b))) (*.f64 a a) (*.f64 r b))
r
(+ r (* 1/2 (* (pow a 2) r)))
(*.f64 (fma.f64 (*.f64 a a) #s(literal 1/2 binary64) #s(literal 1 binary64)) r)
(+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(fma.f64 (fma.f64 (*.f64 (neg.f64 a) a) (*.f64 r #s(literal -5/24 binary64)) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)
(+ r (* (pow a 2) (- (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/720 r) (+ (* 1/48 r) (* 1/2 (+ (* -1/4 r) (* 1/24 r))))))) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (neg.f64 a) a) (fma.f64 r #s(literal 7/360 binary64) (*.f64 (*.f64 r #s(literal -5/24 binary64)) #s(literal 1/2 binary64))) (*.f64 (neg.f64 r) #s(literal -5/24 binary64))) (*.f64 a a) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))
(+ (/ (* a (* r (* (cos (- (* 1/2 (PI)) b)) (sin b)))) (pow (sin (- (* 1/2 (PI)) b)) 2)) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(fma.f64 r (/.f64 (sin.f64 b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))) (/.f64 (*.f64 (*.f64 a r) (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (sin.f64 b))) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(fma.f64 (fma.f64 (neg.f64 a) (fma.f64 (neg.f64 r) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64)) (sin.f64 b)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 3 binary64))) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))) (*.f64 r (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (sin.f64 b)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64))))) a (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (+ (* 1/6 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))) (/ (* (cos (- (* 1/2 (PI)) b)) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))))) (sin (- (* 1/2 (PI)) b))))))) (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (*.f64 r (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (sin.f64 b)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64)))) #s(literal -1/3 binary64) (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (/.f64 (fma.f64 (neg.f64 r) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64)) (sin.f64 b)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 3 binary64))) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))))) (fma.f64 (neg.f64 r) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64)) (sin.f64 b)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 3 binary64))) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))))) a (*.f64 r (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (sin.f64 b)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64))))) a (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))))
(sin (- (* 1/2 (PI)) b))
(sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))
(+ (sin (- (* 1/2 (PI)) b)) (* -1 (* a (cos (- (* 1/2 (PI)) b)))))
(fma.f64 (neg.f64 a) (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* -1/2 (* a (sin (- (* 1/2 (PI)) b)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (neg.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))) a (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))
(+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* a (+ (* -1/2 (sin (- (* 1/2 (PI)) b))) (* 1/6 (* a (cos (- (* 1/2 (PI)) b)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) a) (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (*.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal -1/2 binary64))) a (neg.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))) a (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))
(/ (* r (sin b)) (pow (cos b) 2))
(/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(+ (* -1 (/ (* a (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b)))))) (pow (cos b) 4))) (/ (* r (sin b)) (pow (cos b) 2)))
(fma.f64 (neg.f64 a) (/.f64 (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) r) (pow.f64 (cos.f64 b) #s(literal 4 binary64))) (/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4))))) (/ (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))))) (pow (cos b) 4)))) (/ (* r (sin b)) (pow (cos b) 2)))
(fma.f64 (fma.f64 (neg.f64 a) (fma.f64 (neg.f64 r) (/.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 6 binary64))) (*.f64 r (/.f64 (neg.f64 (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 4 binary64))))) (*.f64 (neg.f64 r) (/.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 4 binary64))))) a (/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (sin b) (* (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2)))))) (pow (cos b) 6))) (+ (* -1 (/ (* (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4)))) (pow (cos b) 2))) (/ (* r (* (sin b) (+ (* -1/2 (* (cos b) (sin b))) (+ (* -1/6 (* (cos b) (sin b))) (+ (* 1/6 (* (cos b) (sin b))) (* 1/2 (* (cos b) (sin b)))))))) (pow (cos b) 4)))))) (+ (* -1 (/ (* r (* (sin b) (pow (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))) 2))) (pow (cos b) 6))) (/ (* r (* (sin b) (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2))))) (pow (cos b) 4))))) (/ (* r (* (sin b) (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b))))) (pow (cos b) 4)))) (/ (* r (sin b)) (pow (cos b) 2)))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (neg.f64 r) (/.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 6 binary64))) (fma.f64 r (/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 b) (sin.f64 b)) #s(literal 0 binary64)) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 4 binary64))) (/.f64 (*.f64 (fma.f64 (neg.f64 r) (/.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 6 binary64))) (*.f64 r (/.f64 (neg.f64 (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 4 binary64))))) #s(literal 0 binary64)) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))))) (fma.f64 (neg.f64 r) (/.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 6 binary64))) (*.f64 r (/.f64 (neg.f64 (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 4 binary64)))))) a (*.f64 (neg.f64 r) (/.f64 (*.f64 #s(literal 0 binary64) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 4 binary64))))) a (/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* 7/8 (* (pow a 2) (pow (cos b) 3))))) (pow (cos b) 3))
(fma.f64 (*.f64 (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (fma.f64 #s(literal 7/8 binary64) (*.f64 a a) #s(literal -3/2 binary64))) (*.f64 a a) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))
(+ (* (pow a 2) (+ (* -3/2 (pow (cos b) 3)) (* (pow a 2) (+ (* -61/240 (* (pow a 2) (pow (cos b) 3))) (* 7/8 (pow (cos b) 3)))))) (pow (cos b) 3))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (fma.f64 #s(literal -61/240 binary64) (*.f64 a a) #s(literal 7/8 binary64))) (*.f64 a a) (*.f64 #s(literal -3/2 binary64) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))) (*.f64 a a) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))
(+ (* -1 (* (pow a 2) (pow (cos b) 2))) (pow (cos b) 2))
(*.f64 (fma.f64 (neg.f64 a) a #s(literal 1 binary64)) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(+ (* (pow a 2) (+ (* -1 (pow (cos b) 2)) (* 1/3 (* (pow a 2) (pow (cos b) 2))))) (pow (cos b) 2))
(fma.f64 (*.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (fma.f64 #s(literal 1/3 binary64) (*.f64 a a) #s(literal -1 binary64))) (*.f64 a a) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(+ (* (pow a 2) (+ (* -1 (pow (cos b) 2)) (* (pow a 2) (+ (* -2/45 (* (pow a 2) (pow (cos b) 2))) (* 1/3 (pow (cos b) 2)))))) (pow (cos b) 2))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (fma.f64 #s(literal -2/45 binary64) (*.f64 a a) #s(literal 1/3 binary64))) (*.f64 a a) (neg.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) (*.f64 a a) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(* -1 (* (pow a 3) (pow (sin b) 3)))
(pow.f64 (*.f64 (neg.f64 a) (sin.f64 b)) #s(literal 3 binary64))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* 1/2 (* (pow a 2) (pow (sin b) 3)))))
(*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (fma.f64 (*.f64 a a) #s(literal 1/2 binary64) #s(literal -1 binary64))) (pow.f64 a #s(literal 3 binary64)))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* (pow a 2) (+ (* -13/120 (* (pow a 2) (pow (sin b) 3))) (* 1/2 (pow (sin b) 3))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (fma.f64 #s(literal -13/120 binary64) (*.f64 a a) #s(literal 1/2 binary64))) (*.f64 a a) (neg.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)))) (pow.f64 a #s(literal 3 binary64)))
(* (pow a 3) (+ (* -1 (pow (sin b) 3)) (* (pow a 2) (+ (* 1/2 (pow (sin b) 3)) (* (pow a 2) (+ (* -13/120 (pow (sin b) 3)) (* 41/3024 (* (pow a 2) (pow (sin b) 3)))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (fma.f64 #s(literal 41/3024 binary64) (*.f64 a a) #s(literal -13/120 binary64))) (*.f64 a a) (*.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 b) #s(literal 3 binary64)))) (*.f64 a a) (neg.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)))) (pow.f64 a #s(literal 3 binary64)))
(* (pow a 2) (pow (sin b) 2))
(*.f64 (*.f64 a a) (pow.f64 (sin.f64 b) #s(literal 2 binary64)))
(* (pow a 2) (+ (* -1/3 (* (pow a 2) (pow (sin b) 2))) (pow (sin b) 2)))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 a a) #s(literal 1 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64))) (*.f64 a a))
(* (pow a 2) (+ (* (pow a 2) (+ (* -1/3 (pow (sin b) 2)) (* 2/45 (* (pow a 2) (pow (sin b) 2))))) (pow (sin b) 2)))
(*.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (fma.f64 #s(literal 2/45 binary64) (*.f64 a a) #s(literal -1/3 binary64))) (*.f64 a a) (pow.f64 (sin.f64 b) #s(literal 2 binary64))) (*.f64 a a))
(* (pow a 2) (+ (* (pow a 2) (+ (* -1/3 (pow (sin b) 2)) (* (pow a 2) (+ (* -1/315 (* (pow a 2) (pow (sin b) 2))) (* 2/45 (pow (sin b) 2)))))) (pow (sin b) 2)))
(*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (fma.f64 #s(literal -1/315 binary64) (*.f64 a a) #s(literal 2/45 binary64))) (*.f64 a a) (*.f64 #s(literal -1/3 binary64) (pow.f64 (sin.f64 b) #s(literal 2 binary64)))) (*.f64 a a) (pow.f64 (sin.f64 b) #s(literal 2 binary64))) (*.f64 a a))
(cos b)
(cos.f64 b)
(+ (cos b) (* -1 (* a (sin b))))
(fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) a (cos.f64 b))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 b) a) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) a) (sin.f64 b)) a (cos.f64 b))
(- (* 1/2 (PI)) b)
(-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)
(- (+ (* -1 a) (* 1/2 (PI))) b)
(fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 a) b))
(+ (cos b) (* a (sin b)))
(fma.f64 (sin.f64 b) a (cos.f64 b))
(+ (cos b) (* a (- (* -1/2 (* a (cos b))) (* -1 (sin b)))))
(fma.f64 (fma.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64) (sin.f64 b)) a (cos.f64 b))
(+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* -1/6 (* a (sin b))))) (* -1 (sin b)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 b) a) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) a (sin.f64 b)) a (cos.f64 b))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (* (cos b) (sin b)))) (pow (cos b) 2))
(fma.f64 #s(literal 0 binary64) a (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (+ (* a (+ (* -1 (pow (cos b) 2)) (* -1 (pow (sin b) 2)))) (* (cos b) (sin b))))) (pow (cos b) 2))
(fma.f64 (fma.f64 #s(literal -1 binary64) a #s(literal 0 binary64)) a (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(+ (* a (+ (* -1 (* (cos b) (sin b))) (+ (* a (+ (* -1 (pow (cos b) 2)) (+ (* -1 (pow (sin b) 2)) (* a (+ (* -1/2 (* (cos b) (sin b))) (+ (* -1/6 (* (cos b) (sin b))) (+ (* 1/6 (* (cos b) (sin b))) (* 1/2 (* (cos b) (sin b)))))))))) (* (cos b) (sin b))))) (pow (cos b) 2))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 b) (sin.f64 b)) #s(literal 0 binary64)) a #s(literal -1 binary64)) a #s(literal 0 binary64)) a (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(- (* (pow (sin a) 2) (pow (sin b) 2)) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b))))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 b)) (cos.f64 a)))
(+ (* -1 (* (pow (sin a) 3) (pow (sin b) 3))) (* (pow (cos a) 3) (pow (cos b) 3)))
(-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))
(- (+ (* (pow (cos a) 2) (pow (cos b) 2)) (* (pow (sin a) 2) (pow (sin b) 2))) (* -1 (* (cos a) (* (cos b) (* (sin a) (sin b))))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (fma.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 b)) (cos.f64 a))))
(* 1/2 (* (pow a 2) r))
(*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64))
(* (pow a 2) (+ (* 1/2 r) (/ r (pow a 2))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) r (/.f64 r (*.f64 a a))) (*.f64 a a))
(sin (- (* 1/2 (PI)) (+ a b)))
(sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b))
(* (pow (cos a) 3) (pow (cos b) 3))
(pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64))
(* (pow (cos a) 2) (pow (cos b) 2))
(*.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(* -1 (* (pow (sin a) 3) (pow (sin b) 3)))
(neg.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))
(* (pow (sin a) 2) (pow (sin b) 2))
(*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)))
(cos (+ a b))
(cos.f64 (+.f64 b a))
(* -1 a)
(neg.f64 a)
(* a (- (* 1/2 (/ (PI) a)) (+ 1 (/ b a))))
(*.f64 (-.f64 (/.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a) #s(literal 1 binary64)) a)
(cos (- b a))
(cos.f64 (-.f64 a b))
(* (cos (+ a b)) (cos (- b a)))
(*.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a)))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 a) b))))
(sin (- (+ (* -1 a) (* 1/2 (PI))) b))
(sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 a) b)))
(/ (* r (sin b)) (* (cos (+ b (* -1 a))) (cos (- b (* -1 a)))))
(/.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(cos (- b (* -1 a)))
(cos.f64 (+.f64 b a))
(* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))
(*.f64 (neg.f64 a) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a)))
(cos (+ b (* -1 a)))
(cos.f64 (-.f64 a b))
(* (cos (+ b (* -1 a))) (cos (- b (* -1 a))))
(*.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a)))
(* b (* (cos a) (sin a)))
(*.f64 (*.f64 (cos.f64 a) b) (sin.f64 a))
(* b (- (* b (pow (sin a) 2)) (* -1 (* (cos a) (sin a)))))
(*.f64 (fma.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) b (*.f64 (sin.f64 a) (cos.f64 a))) b)
(* b (- (* b (+ (* b (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))) (pow (sin a) 2))) (* -1 (* (cos a) (sin a)))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (cos.f64 a) b) (*.f64 (sin.f64 a) #s(literal -2/3 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) b (*.f64 (sin.f64 a) (cos.f64 a))) b)
(* b (- (* b (+ (* b (- (* -1/3 (* b (pow (sin a) 2))) (* -1 (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))))) (pow (sin a) 2))) (* -1 (* (cos a) (sin a)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/3 binary64) b) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 a) #s(literal -2/3 binary64)) (cos.f64 a))) b (pow.f64 (sin.f64 a) #s(literal 2 binary64))) b (*.f64 (sin.f64 a) (cos.f64 a))) b)
(pow (cos a) 3)
(pow.f64 (cos.f64 a) #s(literal 3 binary64))
(+ (* -3/2 (* (pow b 2) (pow (cos a) 3))) (pow (cos a) 3))
(*.f64 (fma.f64 #s(literal -3/2 binary64) (*.f64 b b) #s(literal 1 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* -1 (* b (pow (sin a) 3))))) (pow (cos a) 3))
(fma.f64 (fma.f64 (neg.f64 b) (pow.f64 (sin.f64 a) #s(literal 3 binary64)) (*.f64 #s(literal -3/2 binary64) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))) (*.f64 b b) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* b (+ (* -1 (pow (sin a) 3)) (* 7/8 (* b (pow (cos a) 3))))))) (pow (cos a) 3))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 7/8 binary64) b) (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64)))) b (*.f64 #s(literal -3/2 binary64) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))) (*.f64 b b) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(pow (cos a) 2)
(pow.f64 (cos.f64 a) #s(literal 2 binary64))
(+ (* b (* (cos a) (sin a))) (pow (cos a) 2))
(fma.f64 (*.f64 (cos.f64 a) b) (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(+ (* b (- (* b (+ (* -1 (pow (cos a) 2)) (pow (sin a) 2))) (* -1 (* (cos a) (sin a))))) (pow (cos a) 2))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) b (*.f64 (sin.f64 a) (cos.f64 a))) b (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(+ (* b (- (* b (+ (* -1 (pow (cos a) 2)) (+ (* b (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a))))) (pow (sin a) 2)))) (* -1 (* (cos a) (sin a))))) (pow (cos a) 2))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (cos.f64 a) b) (*.f64 (sin.f64 a) #s(literal -2/3 binary64)) (fma.f64 #s(literal -1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)))) b (*.f64 (sin.f64 a) (cos.f64 a))) b (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))
(*.f64 (fma.f64 b (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 r (cos.f64 a))) b)
(* b (+ (* b (+ (* b (- (/ (* r (+ (* -1 (pow (cos a) 2)) (+ (* -1/6 (pow (cos a) 2)) (pow (sin a) 2)))) (pow (cos a) 3)) (* -3/2 (/ r (cos a))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 r (/.f64 (fma.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)) #s(literal -7/6 binary64) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal 3/2 binary64) (/.f64 r (cos.f64 a)))) b (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) b (/.f64 r (cos.f64 a))) b)
(* b (+ (* b (+ (* b (- (+ (* b (- (/ (* r (+ (* -1/6 (* (cos a) (sin a))) (* (cos a) (+ (* -1/2 (sin a)) (* -1/6 (sin a)))))) (pow (cos a) 3)) (+ (* -3/2 (/ (* r (sin a)) (pow (cos a) 2))) (* -1 (/ (* r (pow (sin a) 3)) (pow (cos a) 4)))))) (/ (* r (+ (* -1 (pow (cos a) 2)) (+ (* -1/6 (pow (cos a) 2)) (pow (sin a) 2)))) (pow (cos a) 3))) (* -3/2 (/ r (cos a))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (+.f64 (fma.f64 r (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (cos.f64 a)) (sin.f64 a) (*.f64 (*.f64 (sin.f64 a) #s(literal -2/3 binary64)) (cos.f64 a))) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal 3/2 binary64) (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64))))) (/.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 a) #s(literal 4 binary64)))) b (fma.f64 r (/.f64 (fma.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)) #s(literal -7/6 binary64) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal 3/2 binary64) (/.f64 r (cos.f64 a))))) b (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) b (/.f64 r (cos.f64 a))) b)
(* b (+ (* b (- (* b (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a))))) b (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) b (/.f64 r (cos.f64 a))) b)
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* -1/6 (/ r (cos a))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (cos a))) (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))))))) (* -1/6 (/ r (cos a)))) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a)))))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))) (/ r (cos a))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (neg.f64 b) (fma.f64 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) #s(literal -1/3 binary64) (/.f64 (*.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a))))) (sin.f64 a)) (neg.f64 (cos.f64 a)))) (-.f64 (*.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)))))) b (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) b (/.f64 r (cos.f64 a))) b)
(* b (+ r (* -1/6 (* (pow b 2) r))))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64))) (*.f64 b b) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b b) r) b)
(+ r (* -1/6 (* (pow b 2) r)))
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(/.f64 (*.f64 r b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))
(* b (+ (/ r (sin (- (* 1/2 (PI)) a))) (/ (* b (* r (cos (- (* 1/2 (PI)) a)))) (pow (sin (- (* 1/2 (PI)) a)) 2))))
(*.f64 (fma.f64 b (*.f64 r (/.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64)))) (/.f64 r (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))) b)
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(*.f64 (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 3 binary64))) (/.f64 (*.f64 #s(literal -1/2 binary64) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))) b (*.f64 r (/.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64))))) b (/.f64 r (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))) b)
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (cos (- (* 1/2 (PI)) a)) (- (* -1/6 (/ r (sin (- (* 1/2 (PI)) a)))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (sin (- (* 1/2 (PI)) a)))) (+ (* -1/2 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))) (* 1/6 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))))) (* -1/6 (/ r (sin (- (* 1/2 (PI)) a))))) (+ (* -1 (/ (* r (pow (cos (- (* 1/2 (PI)) a)) 2)) (pow (sin (- (* 1/2 (PI)) a)) 3))) (* -1/2 (/ r (sin (- (* 1/2 (PI)) a))))))) (* -1 (/ (* r (cos (- (* 1/2 (PI)) a))) (pow (sin (- (* 1/2 (PI)) a)) 2))))) (/ r (sin (- (* 1/2 (PI)) a)))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (neg.f64 b) (fma.f64 (neg.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 3 binary64))) (/.f64 (*.f64 #s(literal -1/2 binary64) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) (*.f64 (*.f64 r (/.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64)))) #s(literal -1/3 binary64))) (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 3 binary64))) (/.f64 (*.f64 #s(literal -1/2 binary64) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))))) b (*.f64 r (/.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64))))) b (/.f64 r (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))) b)
b
(* b (+ 1 (* -1/6 (pow b 2))))
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)
(* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))
(*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b)
(* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))
(*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b)
(sin (- (* 1/2 (PI)) a))
(sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))
(+ (sin (- (* 1/2 (PI)) a)) (* -1 (* b (cos (- (* 1/2 (PI)) a)))))
(fma.f64 (neg.f64 b) (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* -1/2 (* b (sin (- (* 1/2 (PI)) a)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) (neg.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))) b (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))
(+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* b (+ (* -1/2 (sin (- (* 1/2 (PI)) a))) (* 1/6 (* b (cos (- (* 1/2 (PI)) a)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) (*.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal -1/2 binary64))) b (neg.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))) b (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)))
(/ (* b r) (* (cos a) (cos (neg a))))
(*.f64 b (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))))
(* b (+ (* -1 (/ (* b (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))) (/ r (* (cos a) (cos (neg a))))))
(*.f64 (fma.f64 (neg.f64 b) (*.f64 r (/.f64 (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a)))) (pow.f64 (cos.f64 a) #s(literal 4 binary64)))) (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) b)
(* b (+ (* b (- (* b (- (* -1/6 (/ r (* (cos a) (cos (neg a))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (/ (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))))) (/ r (* (cos a) (cos (neg a))))))
(*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a)))) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 6 binary64))) (*.f64 r (/.f64 (-.f64 (neg.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (pow.f64 (cos.f64 a) #s(literal 4 binary64)))))) b (*.f64 (neg.f64 r) (/.f64 (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a)))) (pow.f64 (cos.f64 a) #s(literal 4 binary64))))) b (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) b)
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* r (* (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a)))) (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))))) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (+ (/ (* r (+ (* 1/6 (* (cos a) (sin (neg a)))) (+ (* 1/6 (* (cos (neg a)) (sin a))) (+ (* 1/2 (* (cos a) (sin (neg a)))) (* 1/2 (* (cos (neg a)) (sin a))))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))) (/ (* (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) (- (* -1/6 (/ r (* (cos a) (cos (neg a))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (* (cos a) (cos (neg a)))))))) (* -1/6 (/ r (* (cos a) (cos (neg a)))))) (+ (* -1 (/ (* r (pow (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a)))) 2)) (* (pow (cos a) 3) (pow (cos (neg a)) 3)))) (/ (* r (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2)))))) (/ (* r (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (pow (cos a) 2) (pow (cos (neg a)) 2))))) (/ r (* (cos a) (cos (neg a))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (neg.f64 b) (fma.f64 (neg.f64 r) (/.f64 (*.f64 (-.f64 (neg.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a))))) (pow.f64 (cos.f64 a) #s(literal 6 binary64))) (/.f64 (fma.f64 (-.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a)))) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 6 binary64))) (*.f64 r (/.f64 (-.f64 (neg.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (pow.f64 (cos.f64 a) #s(literal 4 binary64)))))) (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a)))) (/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) (cos.f64 a)) (+.f64 (neg.f64 (sin.f64 a)) (sin.f64 a)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a))))) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) (-.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))) #s(literal -1/6 binary64)) (fma.f64 (neg.f64 r) (/.f64 (pow.f64 (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a)))) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 6 binary64))) (*.f64 r (/.f64 (-.f64 (neg.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (pow.f64 (cos.f64 a) #s(literal 4 binary64))))))) b (*.f64 (neg.f64 r) (/.f64 (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a)))) (pow.f64 (cos.f64 a) #s(literal 4 binary64))))) b (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) b)
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* 7/8 (* (pow b 2) (pow (cos a) 3))))) (pow (cos a) 3))
(fma.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (fma.f64 #s(literal 7/8 binary64) (*.f64 b b) #s(literal -3/2 binary64))) (*.f64 b b) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(+ (* (pow b 2) (+ (* -3/2 (pow (cos a) 3)) (* (pow b 2) (+ (* -61/240 (* (pow b 2) (pow (cos a) 3))) (* 7/8 (pow (cos a) 3)))))) (pow (cos a) 3))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (fma.f64 #s(literal -61/240 binary64) (*.f64 b b) #s(literal 7/8 binary64))) (*.f64 b b) (*.f64 #s(literal -3/2 binary64) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))) (*.f64 b b) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(+ (* -1 (* (pow b 2) (pow (cos a) 2))) (pow (cos a) 2))
(*.f64 (fma.f64 (neg.f64 b) b #s(literal 1 binary64)) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(+ (* (pow b 2) (+ (* -1 (pow (cos a) 2)) (* 1/3 (* (pow b 2) (pow (cos a) 2))))) (pow (cos a) 2))
(fma.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (fma.f64 #s(literal 1/3 binary64) (*.f64 b b) #s(literal -1 binary64))) (*.f64 b b) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(+ (* (pow b 2) (+ (* -1 (pow (cos a) 2)) (* (pow b 2) (+ (* -2/45 (* (pow b 2) (pow (cos a) 2))) (* 1/3 (pow (cos a) 2)))))) (pow (cos a) 2))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (fma.f64 #s(literal -2/45 binary64) (*.f64 b b) #s(literal 1/3 binary64))) (*.f64 b b) (neg.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) (*.f64 b b) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(* -1 (* (pow b 3) (pow (sin a) 3)))
(pow.f64 (*.f64 (neg.f64 b) (sin.f64 a)) #s(literal 3 binary64))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* 1/2 (* (pow b 2) (pow (sin a) 3)))))
(*.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (*.f64 b b) #s(literal -1 binary64))) (pow.f64 b #s(literal 3 binary64)))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* (pow b 2) (+ (* -13/120 (* (pow b 2) (pow (sin a) 3))) (* 1/2 (pow (sin a) 3))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64)) (fma.f64 #s(literal -13/120 binary64) (*.f64 b b) #s(literal 1/2 binary64))) (*.f64 b b) (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64)))) (pow.f64 b #s(literal 3 binary64)))
(* (pow b 3) (+ (* -1 (pow (sin a) 3)) (* (pow b 2) (+ (* 1/2 (pow (sin a) 3)) (* (pow b 2) (+ (* -13/120 (pow (sin a) 3)) (* 41/3024 (* (pow b 2) (pow (sin a) 3)))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64)) (fma.f64 #s(literal 41/3024 binary64) (*.f64 b b) #s(literal -13/120 binary64))) (*.f64 b b) (*.f64 #s(literal 1/2 binary64) (pow.f64 (sin.f64 a) #s(literal 3 binary64)))) (*.f64 b b) (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64)))) (pow.f64 b #s(literal 3 binary64)))
(* (pow b 2) (pow (sin a) 2))
(*.f64 (*.f64 b b) (pow.f64 (sin.f64 a) #s(literal 2 binary64)))
(* (pow b 2) (+ (* -1/3 (* (pow b 2) (pow (sin a) 2))) (pow (sin a) 2)))
(*.f64 (*.f64 (fma.f64 #s(literal -1/3 binary64) (*.f64 b b) #s(literal 1 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (*.f64 b b))
(* (pow b 2) (+ (* (pow b 2) (+ (* -1/3 (pow (sin a) 2)) (* 2/45 (* (pow b 2) (pow (sin a) 2))))) (pow (sin a) 2)))
(*.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (fma.f64 #s(literal 2/45 binary64) (*.f64 b b) #s(literal -1/3 binary64))) (*.f64 b b) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (*.f64 b b))
(* (pow b 2) (+ (* (pow b 2) (+ (* -1/3 (pow (sin a) 2)) (* (pow b 2) (+ (* -1/315 (* (pow b 2) (pow (sin a) 2))) (* 2/45 (pow (sin a) 2)))))) (pow (sin a) 2)))
(*.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (fma.f64 #s(literal -1/315 binary64) (*.f64 b b) #s(literal 2/45 binary64))) (*.f64 b b) (*.f64 #s(literal -1/3 binary64) (pow.f64 (sin.f64 a) #s(literal 2 binary64)))) (*.f64 b b) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (*.f64 b b))
(cos a)
(cos.f64 a)
(+ (cos a) (* -1 (* b (sin a))))
(fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))
(+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 a) b) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) b) (sin.f64 a)) b (cos.f64 a))
(- (* 1/2 (PI)) a)
(-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)
(- (+ (* -1 b) (* 1/2 (PI))) a)
(fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))
(cos (neg a))
(cos.f64 a)
(+ (cos (neg a)) (* -1 (* b (sin (neg a)))))
(fma.f64 (neg.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))
(+ (cos (neg a)) (* b (- (* -1/2 (* b (cos (neg a)))) (sin (neg a)))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (neg.f64 (sin.f64 a))) b (cos.f64 a))
(+ (cos (neg a)) (* b (- (* b (+ (* -1/2 (cos (neg a))) (* 1/6 (* b (sin (neg a)))))) (sin (neg a)))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) (neg.f64 (sin.f64 a)) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) b) (neg.f64 (sin.f64 a))) b (cos.f64 a))
(* (cos a) (cos (neg a)))
(pow.f64 (cos.f64 a) #s(literal 2 binary64))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (* -1 (* (cos (neg a)) (sin a))))) (* (cos a) (cos (neg a))))
(fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a)))) b (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (+ (* -1 (* (cos (neg a)) (sin a))) (* b (+ (* -1 (* (cos a) (cos (neg a)))) (* (sin a) (sin (neg a)))))))) (* (cos a) (cos (neg a))))
(fma.f64 (fma.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a))) (*.f64 (-.f64 (neg.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) b)) b (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(+ (* b (+ (* -1 (* (cos a) (sin (neg a)))) (+ (* -1 (* (cos (neg a)) (sin a))) (* b (+ (* -1 (* (cos a) (cos (neg a)))) (+ (* b (+ (* 1/6 (* (cos a) (sin (neg a)))) (+ (* 1/6 (* (cos (neg a)) (sin a))) (+ (* 1/2 (* (cos a) (sin (neg a)))) (* 1/2 (* (cos (neg a)) (sin a))))))) (* (sin a) (sin (neg a))))))))) (* (cos a) (cos (neg a))))
(fma.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) (cos.f64 a)) (+.f64 (neg.f64 (sin.f64 a)) (sin.f64 a)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a))))) b (-.f64 (neg.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 a) #s(literal 2 binary64)))) b (*.f64 (neg.f64 (cos.f64 a)) (+.f64 (sin.f64 a) (neg.f64 (sin.f64 a))))) b (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(* -1/6 (* (pow b 3) r))
(*.f64 (*.f64 (pow.f64 b #s(literal 3 binary64)) r) #s(literal -1/6 binary64))
(* (pow b 3) (+ (* -1/6 r) (/ r (pow b 2))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) r (/.f64 r (*.f64 b b))) (pow.f64 b #s(literal 3 binary64)))
(* -1/6 (* (pow b 2) r))
(*.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64))
(* (pow b 2) (+ (* -1/6 r) (/ r (pow b 2))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) r (/.f64 r (*.f64 b b))) (*.f64 b b))
(sin b)
(sin.f64 b)
(* -1 b)
(neg.f64 b)
(* b (- (* 1/2 (/ (PI) b)) (+ 1 (/ a b))))
(*.f64 (-.f64 (/.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b) #s(literal 1 binary64)) b)
(/ (* r (sin b)) (cos (- a (* -1 b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(* -1 (* (pow b 3) (+ (* -1 (/ r (pow b 2))) (* 1/6 r))))
(*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) r (/.f64 (neg.f64 r) (*.f64 b b)))) (pow.f64 b #s(literal 3 binary64)))
(/ (* r (sin b)) (sin (- (+ (* -1 b) (* 1/2 (PI))) a)))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))
(sin (- (+ (* -1 b) (* 1/2 (PI))) a))
(sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a)))
(/ (* r (sin b)) (* (cos (neg (+ a (* -1 b)))) (cos (- a (* -1 b)))))
(/.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(cos (- a (* -1 b)))
(cos.f64 (+.f64 b a))
(* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))
(*.f64 (neg.f64 b) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b)))
(cos (neg (+ a (* -1 b))))
(cos.f64 (-.f64 a b))
(* (cos (neg (+ a (* -1 b)))) (cos (- a (* -1 b))))
(*.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a)))

rewrite253.0ms (3%)

Memory
28.9MiB live, 262.2MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068378
0116378
1427326
23442326
08388325
Stop Event
iter limit
node limit
iter limit
Counts
29 → 689
Calls
Call 1
Inputs
(-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b)))
(+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))
(+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
(*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b)
#s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r))
(fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))))
(*.f64 (sin.f64 b) r)
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))
(pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))
(pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))
(pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))
(*.f64 (*.f64 a a) r)
#s(approx (cos (+ a b)) (cos.f64 b))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))
(cos.f64 (-.f64 b a))
(cos.f64 (+.f64 a b))
(*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))
Outputs
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64)) (*.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 a) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64)))) (neg.f64 (+.f64 (fma.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64))) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64))) (fma.f64 (*.f64 (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 a) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64))) (+.f64 (fma.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64))) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 b)) (sin.f64 a) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 b)) (sin.f64 a) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 b)) (sin.f64 a) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 b)) (sin.f64 a) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 a)) (sin.f64 b) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 a)) (sin.f64 b) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 a)) (sin.f64 b) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 a)) (sin.f64 b) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (neg.f64 (sin.f64 a))) (sin.f64 b) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (cos.f64 b) (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(-.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)) (fma.f64 (*.f64 (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 a) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64)) (fma.f64 (*.f64 (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 a) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(-.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (+.f64 (fma.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64))) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64)) (+.f64 (fma.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64))) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)))))
(-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (neg.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (cos.f64 b)))
(-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(+.f64 (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(*.f64 (cos.f64 (+.f64 b a)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(*.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (cos.f64 (+.f64 b a)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64))) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)))) (neg.f64 (-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 9 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 9 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64))) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64))) (-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 9 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 9 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 9 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 9 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64))) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64))))
(fma.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (cos.f64 b)) (cos.f64 a) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (cos.f64 a)) (cos.f64 b) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (neg.f64 (sin.f64 a))) (sin.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (sin.f64 b)) (neg.f64 (sin.f64 a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (neg.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))) (neg.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))) (neg.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (fabs.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (fabs.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (*.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (*.f64 (cos.f64 b) (cos.f64 a))) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (cos.f64 b) (*.f64 (cos.f64 a) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (cos.f64 a) (*.f64 (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(fma.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))))
(-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))))
(-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (*.f64 (neg.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (*.f64 (neg.f64 (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64)))) (pow.f64 (sin.f64 b) #s(literal 3 binary64))))
(-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (*.f64 (neg.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))))
(-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (*.f64 (neg.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))
(-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (*.f64 (neg.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (cos.f64 a))))
(-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (*.f64 (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(+.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (cos.f64 a))))
(+.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 9 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64))) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 9 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64))) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64)))))
(+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))
(+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))
(/.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))) (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)))))
(/.f64 (-.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64))) (fma.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (fma.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 4 binary64)) (-.f64 (*.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)))) (*.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64))) (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64))) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 b)) (sin.f64 a) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 b)) (sin.f64 a) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 a)) (sin.f64 b) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 a)) (sin.f64 b) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (neg.f64 (sin.f64 a))) (sin.f64 b) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (neg.f64 (sin.f64 a))) (sin.f64 b) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 b)) (cos.f64 a) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 a)) (cos.f64 b) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (fabs.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (fabs.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))
(fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (cos.f64 a) (*.f64 (cos.f64 b) (*.f64 (cos.f64 b) (cos.f64 a))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (sin.f64 b) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))) (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)) (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))))
(-.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (neg.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (cos.f64 b) #s(literal 2 binary64))))
(-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (cos.f64 b) (cos.f64 a))))
(-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (-.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)))) (/.f64 (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)))))
(+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (neg.f64 (cos.f64 b)) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))
(+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (*.f64 (cos.f64 b) (cos.f64 a))))
(+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (neg.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(+.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))
(+.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b))))
(*.f64 (/.f64 (*.f64 r (sin.f64 b)) (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))) (neg.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(*.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (*.f64 r (sin.f64 b)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))
(/.f64 (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)))) (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(/.f64 (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)))) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (*.f64 r (sin.f64 b)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)))) (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))))
(/.f64 (*.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)))) (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (cos.f64 (+.f64 b a))))
(neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a)))))
(fma.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))))
(fma.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))))
(fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))))
(+.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))) (*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))))
(+.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))) (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))))
(+.f64 (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))))
(+.f64 (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))) (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r)) b))
(*.f64 #s(approx (/ r (cos a)) (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r)) b)
(*.f64 b #s(approx (/ r (cos a)) (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r)))
#s(approx (/ r (cos a)) (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r))
(/.f64 (-.f64 (*.f64 r r) (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64))) (-.f64 r (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64)) (*.f64 r r))) (neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) r)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 a a) r) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 r #s(literal 3 binary64)))) (neg.f64 (fma.f64 r (-.f64 r (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r))) (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64)) (*.f64 r r)) (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) r))
(/.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 a a) r) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 r #s(literal 3 binary64))) (fma.f64 r r (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) r))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 a a) r) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 r #s(literal 3 binary64))) (fma.f64 r (-.f64 r (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r))) (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a a)) r r)
(fma.f64 (*.f64 #s(literal 1/2 binary64) a) (*.f64 r a) r)
(fma.f64 (*.f64 #s(literal 1/2 binary64) r) (*.f64 a a) r)
(fma.f64 (fabs.f64 a) (*.f64 (fabs.f64 a) (*.f64 #s(literal 1/2 binary64) r)) r)
(fma.f64 (neg.f64 a) (*.f64 (neg.f64 a) (*.f64 #s(literal 1/2 binary64) r)) r)
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r) r)
(fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)
(fma.f64 (*.f64 a a) (*.f64 #s(literal 1/2 binary64) r) r)
(fma.f64 r (*.f64 (*.f64 a a) #s(literal 1/2 binary64)) r)
(fma.f64 a (*.f64 (*.f64 r a) #s(literal 1/2 binary64)) r)
(fma.f64 a (*.f64 a (*.f64 #s(literal 1/2 binary64) r)) r)
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) r)) (/.f64 (*.f64 r r) (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) r)))
(-.f64 r (*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 a a) r)))
(-.f64 r (*.f64 (neg.f64 (*.f64 (*.f64 a a) r)) #s(literal 1/2 binary64)))
(-.f64 r (*.f64 (neg.f64 (*.f64 a a)) (*.f64 #s(literal 1/2 binary64) r)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 3 binary64)) (fma.f64 r (-.f64 r (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r))) (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64)))) (/.f64 (pow.f64 r #s(literal 3 binary64)) (fma.f64 r (-.f64 r (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r))) (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)) r)
(+.f64 r (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a a) r)))
(/.f64 (neg.f64 (neg.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)))) (neg.f64 (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b)))))
(/.f64 (neg.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b))) (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(neg.f64 (/.f64 (neg.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b))) #s(approx (cos (+ a b)) (cos.f64 b))))
(neg.f64 (/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)) (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b)))))
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b))
(*.f64 (*.f64 b (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))) r)
(*.f64 (*.f64 r b) (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 r b))
(*.f64 r (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b))
(*.f64 b (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 r b)) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 b b) #s(literal 3 binary64)) #s(literal 1 binary64)) (*.f64 r b)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r)
(*.f64 r (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 2 binary64)) #s(literal 1 binary64)) r) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 b b) #s(literal 3 binary64)) #s(literal 1 binary64)) r) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))
(/.f64 (*.f64 r (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 2 binary64)) #s(literal 1 binary64))) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)))
(/.f64 (*.f64 r (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 b b) #s(literal 3 binary64)) #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) r (*.f64 #s(literal 1 binary64) r))
(fma.f64 #s(literal 1 binary64) r (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) r))
(fma.f64 r (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) (*.f64 r #s(literal 1 binary64)))
(fma.f64 r #s(literal 1 binary64) (*.f64 r (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) r) (*.f64 #s(literal 1 binary64) r))
(+.f64 (*.f64 #s(literal 1 binary64) r) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) r))
(+.f64 (*.f64 r (*.f64 #s(literal -1/6 binary64) (*.f64 b b))) (*.f64 r #s(literal 1 binary64)))
(+.f64 (*.f64 r #s(literal 1 binary64)) (*.f64 r (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))
(*.f64 (/.f64 (sin.f64 b) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))) r)
(*.f64 r (/.f64 (sin.f64 b) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))))
(*.f64 (sin.f64 b) (/.f64 r (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (neg.f64 (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))))
(neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (neg.f64 (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
(sin.f64 b)
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))
(*.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (+.f64 (cos.f64 (-.f64 (-.f64 (-.f64 b a) b) a)) (cos.f64 (-.f64 b (-.f64 a (+.f64 b a)))))) #s(literal 2 binary64))
(*.f64 (*.f64 (cos.f64 (-.f64 a b)) (/.f64 (sin.f64 b) (cos.f64 (-.f64 a b)))) (/.f64 r (cos.f64 (+.f64 b a))))
(*.f64 (*.f64 (cos.f64 (-.f64 a b)) (sin.f64 b)) (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(*.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (/.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 a b))) (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(*.f64 (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b)))
(*.f64 (cos.f64 (-.f64 a b)) (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a))))
(*.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) (/.f64 (cos.f64 (-.f64 a b)) (cos.f64 (-.f64 a b))))
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))))
(*.f64 (sin.f64 b) (*.f64 (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))) (cos.f64 (-.f64 a b))))
(/.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b)))
(/.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (cos.f64 (-.f64 a b))) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(/.f64 (*.f64 (cos.f64 (-.f64 a b)) (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b)))) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 (neg.f64 r) (sin.f64 b))) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(/.f64 (neg.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b)))) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))))
(fma.f64 (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a))) (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a))) (*.f64 (sin.f64 b) (sin.f64 a))))
(fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))))
(+.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))))
(+.f64 (*.f64 (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a))) (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a))) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (/.f64 (*.f64 r (sin.f64 b)) (+.f64 (cos.f64 (-.f64 (-.f64 (-.f64 b a) b) a)) (cos.f64 (-.f64 b (-.f64 a (+.f64 b a)))))) #s(literal 2 binary64))
(*.f64 (/.f64 r (cos.f64 (-.f64 a b))) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(*.f64 (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))) (sin.f64 b))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (/.f64 r (cos.f64 (-.f64 a b))))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (cos.f64 (-.f64 a b))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 a b))) (/.f64 r (cos.f64 (+.f64 b a))))
(*.f64 r (/.f64 (sin.f64 b) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))))
(*.f64 (sin.f64 b) (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(/.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 a b))) r) (cos.f64 (+.f64 b a)))
(/.f64 (neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b)))) (neg.f64 (cos.f64 (+.f64 b a))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b)))))
(/.f64 (/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(/.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) (cos.f64 (-.f64 a b)))
(/.f64 (*.f64 r (sin.f64 b)) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))))
(neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b)))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (cos.f64 b)) (cos.f64 a))
(*.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (cos.f64 a)) (cos.f64 b))
(*.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(*.f64 (neg.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))) (neg.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (*.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(*.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))
(*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)))
(*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))
(*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(*.f64 (cos.f64 a) (*.f64 (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(pow.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) #s(literal 3/2 binary64))
(pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64))
(/.f64 (*.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))) #s(literal 2 binary64))
(/.f64 (pow.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) #s(literal 3 binary64)) #s(literal 8 binary64))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a))))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) #s(literal 3/2 binary64)))
(exp.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))) (sinh.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))))
(*.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 b)) (cos.f64 a))
(*.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 a)) (cos.f64 b))
(*.f64 (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (fabs.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (fabs.f64 (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))
(*.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
(*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (cos.f64 a) (*.f64 (cos.f64 b) (*.f64 (cos.f64 b) (cos.f64 a))))
(pow.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))
(/.f64 (*.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) (*.f64 (cos.f64 b) (cos.f64 a))) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))) #s(literal 2 binary64))
(/.f64 (*.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))) #s(literal 4 binary64))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a))))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))))
(*.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (neg.f64 (sin.f64 a))) (sin.f64 b))
(*.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (sin.f64 b)) (neg.f64 (sin.f64 a)))
(*.f64 (neg.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))) (neg.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))))
(*.f64 (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) (pow.f64 (sin.f64 b) #s(literal 3 binary64)))
(*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))
(*.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(pow.f64 (exp.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) #s(literal 3/2 binary64))
(neg.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (sin.f64 b) (sin.f64 a))))
(neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(neg.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) #s(literal 3/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64))))
(*.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 b)) (sin.f64 a))
(*.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (sin.f64 a)) (sin.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (neg.f64 (sin.f64 a))) (sin.f64 b))
(*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)))
(*.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (neg.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (fabs.f64 (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (fabs.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)))
(*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (pow.f64 (cos.f64 a) #s(literal 2 binary64))))
(*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)))
(*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (pow.f64 (sin.f64 b) #s(literal 2 binary64)))
(*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(*.f64 (neg.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))
(*.f64 (sin.f64 b) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (sin.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (sin.f64 a) (*.f64 (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))
(pow.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) #s(literal 2 binary64))
(pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a))) (*.f64 (sin.f64 b) (sin.f64 a))) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (*.f64 (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a)))) #s(literal 4 binary64))
(neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(neg.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a))))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(*.f64 (*.f64 r (fabs.f64 a)) (fabs.f64 a))
(*.f64 (*.f64 r (neg.f64 a)) (neg.f64 a))
(*.f64 (*.f64 r a) a)
(*.f64 (fabs.f64 a) (*.f64 (fabs.f64 a) r))
(*.f64 (neg.f64 a) (*.f64 (neg.f64 a) r))
(*.f64 (*.f64 a a) r)
(*.f64 r (*.f64 a a))
(*.f64 a (*.f64 r a))
#s(approx (cos (+ a b)) (cos.f64 b))
(/.f64 (-.f64 (*.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 a)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 a))) (*.f64 b b)) (+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 a)) b))
(/.f64 (-.f64 (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64)))) (-.f64 (-.f64 (neg.f64 a) b) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 a)) #s(literal 3 binary64)) (pow.f64 b #s(literal 3 binary64))) (fma.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 a)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 a)) (fma.f64 b b (*.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 a)) b))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64))) (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (-.f64 (neg.f64 a) b))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (PI.f64) #s(literal 3 binary64)) (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64)) (*.f64 (-.f64 (neg.f64 a) b) (-.f64 (-.f64 (neg.f64 a) b) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64))) (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 2 binary64))) (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (-.f64 (neg.f64 a) b)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (PI.f64) #s(literal 3 binary64)) (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 3 binary64))) (+.f64 (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64))) (*.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (-.f64 (neg.f64 a) b)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (PI.f64) #s(literal 3 binary64)) (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64)) (*.f64 (-.f64 (neg.f64 a) b) (-.f64 (-.f64 (neg.f64 a) b) (*.f64 (PI.f64) #s(literal 1/2 binary64))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (PI.f64))) (sqrt.f64 (PI.f64)) (-.f64 (neg.f64 a) b))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64))) (cbrt.f64 (PI.f64)) (-.f64 (neg.f64 a) b))
(fma.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) #s(literal 1/2 binary64)) (-.f64 (neg.f64 a) b))
(fma.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (PI.f64)) #s(literal 1/2 binary64)) (-.f64 (neg.f64 a) b))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))
(fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 a) b))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64))) (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (-.f64 (neg.f64 a) b))) (/.f64 (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 2 binary64)) (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (-.f64 (neg.f64 a) b))))
(-.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 a)) b)
(-.f64 (-.f64 (neg.f64 a) b) (*.f64 (neg.f64 (PI.f64)) #s(literal 1/2 binary64)))
(-.f64 (-.f64 (neg.f64 a) b) (*.f64 #s(literal -1/2 binary64) (PI.f64)))
(-.f64 (neg.f64 a) (-.f64 b (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (PI.f64) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64)) (*.f64 (-.f64 (neg.f64 a) b) (-.f64 (-.f64 (neg.f64 a) b) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) (/.f64 (pow.f64 (-.f64 (neg.f64 a) b) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64)) (*.f64 (-.f64 (neg.f64 a) b) (-.f64 (-.f64 (neg.f64 a) b) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))))
(+.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (-.f64 (neg.f64 a) b))
(+.f64 (-.f64 (neg.f64 a) b) (*.f64 (PI.f64) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))))
(/.f64 (+.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a))))) #s(literal 4 binary64))
(/.f64 (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(fma.f64 (cos.f64 (/.f64 (*.f64 b b) (+.f64 b a))) (cos.f64 (/.f64 (*.f64 a a) (+.f64 b a))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (+.f64 b a))) (sin.f64 (/.f64 (*.f64 a a) (+.f64 b a)))))
(fma.f64 (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 b a))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 b a))))) (*.f64 (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 b a))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 b a)))))))
(fma.f64 (sin.f64 (-.f64 a b)) #s(literal 0 binary64) (*.f64 (cos.f64 (-.f64 a b)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 (neg.f64 (-.f64 b a))) #s(literal 0 binary64) (*.f64 (cos.f64 (-.f64 a b)) #s(literal 1 binary64)))
(fma.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 1/2 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 1/2 binary64)) (*.f64 (sin.f64 b) (sin.f64 a)))
(fma.f64 (pow.f64 (sin.f64 b) #s(literal 1 binary64)) (pow.f64 (sin.f64 a) #s(literal 1 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (pow.f64 (sin.f64 a) #s(literal 1 binary64)) (pow.f64 (sin.f64 b) #s(literal 1 binary64)) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (pow.f64 (cos.f64 b) #s(literal 1 binary64)) (pow.f64 (cos.f64 a) #s(literal 1 binary64)) (*.f64 (sin.f64 b) (sin.f64 a)))
(fma.f64 (pow.f64 (cos.f64 a) #s(literal 1 binary64)) (pow.f64 (cos.f64 b) #s(literal 1 binary64)) (*.f64 (sin.f64 b) (sin.f64 a)))
(fma.f64 (sin.f64 (-.f64 b a)) #s(literal 0 binary64) (*.f64 (cos.f64 (-.f64 a b)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (-.f64 a b)) (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 b a))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))
(fma.f64 (sin.f64 b) (sin.f64 a) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (sin.f64 a) (sin.f64 b) (*.f64 (cos.f64 b) (cos.f64 a)))
(sin.f64 (+.f64 (+.f64 (neg.f64 a) b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (-.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (neg.f64 (-.f64 b a))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b))
(sin.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))))
(-.f64 (*.f64 (sin.f64 b) (cos.f64 (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))) (*.f64 (cos.f64 b) (sin.f64 (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(cos.f64 (neg.f64 (neg.f64 (-.f64 a b))))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 (-.f64 b a)))))
(cos.f64 (neg.f64 (+.f64 (neg.f64 b) a)))
(cos.f64 (neg.f64 (+.f64 (neg.f64 a) b)))
(cos.f64 (neg.f64 (-.f64 a b)))
(cos.f64 (neg.f64 (neg.f64 (-.f64 b a))))
(cos.f64 (+.f64 (neg.f64 b) a))
(cos.f64 (+.f64 (neg.f64 a) b))
(cos.f64 (neg.f64 (-.f64 b a)))
(cos.f64 (-.f64 a b))
(cos.f64 (-.f64 b a))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 b b) (+.f64 b a))) (cos.f64 (/.f64 (*.f64 a a) (+.f64 b a)))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (+.f64 b a))) (sin.f64 (/.f64 (*.f64 a a) (+.f64 b a)))))
(+.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 b a))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 b a)))))) (*.f64 (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 b a))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 b a)))))))
(+.f64 (*.f64 (sin.f64 (-.f64 a b)) #s(literal 0 binary64)) (*.f64 (cos.f64 (-.f64 a b)) #s(literal 1 binary64)))
(+.f64 (*.f64 (sin.f64 (neg.f64 (-.f64 b a))) #s(literal 0 binary64)) (*.f64 (cos.f64 (-.f64 a b)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 b a))))
(+.f64 (*.f64 (sin.f64 (-.f64 b a)) #s(literal 0 binary64)) (*.f64 (cos.f64 (-.f64 a b)) #s(literal 1 binary64)))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))
(+.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)))) (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)))) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64))))
(*.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (/.f64 (cos.f64 (+.f64 b a)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))) (-.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64))) (*.f64 (-.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64))) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 9 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 9 binary64))) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 6 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64))) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 3 binary64))) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(/.f64 (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))) (cos.f64 (-.f64 a b)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))))
(neg.f64 (neg.f64 (cos.f64 (+.f64 b a))))
(fma.f64 (cos.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 a) b))) (cos.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 a) b))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 a) b))) (sin.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 a) b)))))
(fma.f64 (cos.f64 (/.f64 (pow.f64 (neg.f64 a) #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a)))) (*.f64 (sin.f64 (/.f64 (pow.f64 (neg.f64 a) #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a)))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))))))
(fma.f64 (cos.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 b) a))) (cos.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 b) a))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 b) a))) (sin.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 b) a)))))
(fma.f64 (cos.f64 (/.f64 (pow.f64 (neg.f64 b) #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 (neg.f64 b) a))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 (neg.f64 b) a))))) (*.f64 (sin.f64 (/.f64 (pow.f64 (neg.f64 b) #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 (neg.f64 b) a))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 (neg.f64 b) a)))))))
(fma.f64 (cos.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (cos.f64 (/.f64 (*.f64 b b) (-.f64 a b))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (sin.f64 (/.f64 (*.f64 b b) (-.f64 a b)))))
(fma.f64 (sin.f64 (neg.f64 (+.f64 b a))) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 b a)) #s(literal 1 binary64)))
(fma.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)))) (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)))) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 2 binary64)))) (fma.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)))) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (pow.f64 (cos.f64 b) #s(literal 1 binary64)) (pow.f64 (cos.f64 a) #s(literal 1 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (pow.f64 (cos.f64 a) #s(literal 1 binary64)) (pow.f64 (cos.f64 b) #s(literal 1 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (sin.f64 (+.f64 b a)) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 b a)) #s(literal 1 binary64)))
(fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3/2 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3/2 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (/.f64 (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) (/.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 b a)) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 b a))))
(fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (/.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (/.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
(fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))
(sin.f64 (neg.f64 (neg.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))))
(sin.f64 (neg.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (PI.f64))))
(sin.f64 (+.f64 (neg.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (PI.f64)) (PI.f64)))
(sin.f64 (+.f64 (-.f64 (neg.f64 a) b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 b (neg.f64 a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 b a))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 a (neg.f64 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (neg.f64 a)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (neg.f64 b)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b))
(sin.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))
(sin.f64 (-.f64 (neg.f64 b) (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))))) (*.f64 (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a)))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (neg.f64 (sin.f64 b))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a)))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 a)) (cos.f64 b)))
(cos.f64 (neg.f64 (-.f64 b (neg.f64 a))))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 b a)))))
(cos.f64 (neg.f64 (-.f64 a (neg.f64 b))))
(cos.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (PI.f64)) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (+.f64 b a) (PI.f64)) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(cos.f64 (+.f64 (neg.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 b) a)))
(cos.f64 (neg.f64 (-.f64 (neg.f64 a) b)))
(cos.f64 (neg.f64 (neg.f64 (+.f64 b a))))
(cos.f64 (-.f64 b (neg.f64 a)))
(cos.f64 (-.f64 a (neg.f64 b)))
(cos.f64 (neg.f64 (+.f64 b a)))
(cos.f64 (+.f64 b a))
(cos.f64 (-.f64 (neg.f64 a) b))
(cos.f64 (-.f64 (neg.f64 b) a))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 a) b))) (cos.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 a) b)))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 a) b))) (sin.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 a) b)))))
(+.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 (neg.f64 a) #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a)))) (cos.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))))) (*.f64 (sin.f64 (/.f64 (pow.f64 (neg.f64 a) #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a)))) (sin.f64 (/.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 b (-.f64 b a) (*.f64 a a))))))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 b) a))) (cos.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 b) a)))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (+.f64 (neg.f64 b) a))) (sin.f64 (/.f64 (*.f64 a a) (+.f64 (neg.f64 b) a)))))
(+.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 (neg.f64 b) #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 (neg.f64 b) a))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 (neg.f64 b) a)))))) (*.f64 (sin.f64 (/.f64 (pow.f64 (neg.f64 b) #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 (neg.f64 b) a))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 b b (*.f64 a (+.f64 (neg.f64 b) a)))))))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (cos.f64 (/.f64 (*.f64 b b) (-.f64 a b)))) (*.f64 (sin.f64 (/.f64 (*.f64 a a) (-.f64 a b))) (sin.f64 (/.f64 (*.f64 b b) (-.f64 a b)))))
(+.f64 (*.f64 (sin.f64 (neg.f64 (+.f64 b a))) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 b a)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 b a))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 b a))))
(+.f64 (*.f64 (sin.f64 (+.f64 b a)) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 b a)) #s(literal 1 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))
(*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))
(*.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 b a)))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (-.f64 a b)))) (sin.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (-.f64 a b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 (-.f64 b a))))) (sin.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 (-.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (-.f64 b a)))) (sin.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (-.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 a b))) (sin.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 a b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 b a))) (sin.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (neg.f64 (-.f64 a b)))) (sin.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (neg.f64 (-.f64 a b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (neg.f64 (neg.f64 (-.f64 b a))))) (sin.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (neg.f64 (neg.f64 (-.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 a b))) (sin.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 a b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 (+.f64 b a))))) (sin.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 b a)))) (sin.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a))) (sin.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 (+.f64 b a))))) (sin.f64 (+.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 b a)))) (sin.f64 (+.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a))) (sin.f64 (+.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (+.f64 b a))))) (sin.f64 (+.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (neg.f64 (neg.f64 (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))))) (cos.f64 (+.f64 (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (+.f64 (neg.f64 (-.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 (neg.f64 (+.f64 b a)) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 b a))) (neg.f64 (-.f64 a b)))) (cos.f64 (-.f64 (neg.f64 (neg.f64 (+.f64 b a))) (neg.f64 (-.f64 a b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 b a))) (neg.f64 (neg.f64 (-.f64 b a))))) (cos.f64 (-.f64 (neg.f64 (neg.f64 (+.f64 b a))) (neg.f64 (neg.f64 (-.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 b a))) (neg.f64 (-.f64 b a)))) (cos.f64 (-.f64 (neg.f64 (neg.f64 (+.f64 b a))) (neg.f64 (-.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 b a))) (-.f64 a b))) (cos.f64 (-.f64 (neg.f64 (neg.f64 (+.f64 b a))) (-.f64 a b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 b a))) (-.f64 b a))) (cos.f64 (-.f64 (neg.f64 (neg.f64 (+.f64 b a))) (-.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (+.f64 b a)) (neg.f64 (-.f64 a b)))) (cos.f64 (-.f64 (neg.f64 (+.f64 b a)) (neg.f64 (-.f64 a b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (+.f64 b a)) (neg.f64 (neg.f64 (-.f64 b a))))) (cos.f64 (-.f64 (neg.f64 (+.f64 b a)) (neg.f64 (neg.f64 (-.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (+.f64 b a)) (-.f64 a b))) (cos.f64 (-.f64 (neg.f64 (+.f64 b a)) (-.f64 a b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 b a) (neg.f64 (-.f64 a b)))) (cos.f64 (-.f64 (+.f64 b a) (neg.f64 (-.f64 a b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 b a) (neg.f64 (neg.f64 (-.f64 b a))))) (cos.f64 (-.f64 (+.f64 b a) (neg.f64 (neg.f64 (-.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 b a) (-.f64 a b))) (cos.f64 (-.f64 (+.f64 b a) (-.f64 a b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (-.f64 a b)) (neg.f64 (neg.f64 (+.f64 b a))))) (cos.f64 (-.f64 (neg.f64 (-.f64 a b)) (neg.f64 (neg.f64 (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (-.f64 a b)) (neg.f64 (+.f64 b a)))) (cos.f64 (-.f64 (neg.f64 (-.f64 a b)) (neg.f64 (+.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (-.f64 a b)) (+.f64 b a))) (cos.f64 (-.f64 (neg.f64 (-.f64 a b)) (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 (-.f64 b a))) (neg.f64 (neg.f64 (+.f64 b a))))) (cos.f64 (-.f64 (neg.f64 (neg.f64 (-.f64 b a))) (neg.f64 (neg.f64 (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 (-.f64 b a))) (neg.f64 (+.f64 b a)))) (cos.f64 (-.f64 (neg.f64 (neg.f64 (-.f64 b a))) (neg.f64 (+.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (neg.f64 (-.f64 b a))) (+.f64 b a))) (cos.f64 (-.f64 (neg.f64 (neg.f64 (-.f64 b a))) (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (-.f64 b a)) (neg.f64 (neg.f64 (+.f64 b a))))) (cos.f64 (-.f64 (neg.f64 (-.f64 b a)) (neg.f64 (neg.f64 (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (-.f64 a b) (neg.f64 (neg.f64 (+.f64 b a))))) (cos.f64 (-.f64 (-.f64 a b) (neg.f64 (neg.f64 (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (-.f64 a b) (neg.f64 (+.f64 b a)))) (cos.f64 (-.f64 (-.f64 a b) (neg.f64 (+.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (-.f64 a b) (+.f64 b a))) (cos.f64 (-.f64 (-.f64 a b) (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (-.f64 b a) (neg.f64 (neg.f64 (+.f64 b a))))) (cos.f64 (-.f64 (-.f64 b a) (neg.f64 (neg.f64 (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 (-.f64 (-.f64 b a) b) a)) (cos.f64 (-.f64 b (-.f64 a (+.f64 b a)))))) #s(literal -2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (neg.f64 (-.f64 b a)))) (sin.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (neg.f64 (-.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b a))) (sin.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (neg.f64 (+.f64 b a)))) (sin.f64 (+.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (neg.f64 (+.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b a))) (sin.f64 (+.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))))) (cos.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (+.f64 b a)) (neg.f64 (-.f64 b a)))) (cos.f64 (-.f64 (neg.f64 (+.f64 b a)) (neg.f64 (-.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (+.f64 b a)) (-.f64 b a))) (cos.f64 (-.f64 (neg.f64 (+.f64 b a)) (-.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 b a) (neg.f64 (-.f64 b a)))) (cos.f64 (-.f64 (+.f64 b a) (neg.f64 (-.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (-.f64 b (-.f64 a (+.f64 b a)))) (cos.f64 (-.f64 (+.f64 b a) (-.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (-.f64 b a)) (neg.f64 (+.f64 b a)))) (cos.f64 (-.f64 (neg.f64 (-.f64 b a)) (neg.f64 (+.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (-.f64 b a)) (+.f64 b a))) (cos.f64 (-.f64 (neg.f64 (-.f64 b a)) (+.f64 b a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (-.f64 b a) (neg.f64 (+.f64 b a)))) (cos.f64 (-.f64 (-.f64 b a) (neg.f64 (+.f64 b a))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (-.f64 (-.f64 (-.f64 b a) b) a)) (cos.f64 (-.f64 b (-.f64 a (+.f64 b a))))) #s(literal 2 binary64))
(fma.f64 (cos.f64 (+.f64 b a)) (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(fma.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (+.f64 b a)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (cos.f64 (+.f64 b a))))
(-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))
(+.f64 (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cos.f64 (+.f64 b a))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (cos.f64 (+.f64 b a))))
(+.f64 (*.f64 (cos.f64 (+.f64 b a)) (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(+.f64 (/.f64 (cos.f64 (-.f64 b (-.f64 a (+.f64 b a)))) #s(literal 2 binary64)) (/.f64 (cos.f64 (-.f64 (-.f64 (-.f64 b a) b) a)) #s(literal 2 binary64)))

eval289.0ms (3.4%)

Memory
-16.6MiB live, 177.4MiB allocated; 46ms collecting garbage
Compiler

Compiled 43 165 to 4 491 computations (89.6% saved)

prune153.0ms (1.8%)

Memory
-13.2MiB live, 134.8MiB allocated; 8ms collecting garbage
Pruning

88 alts after pruning (81 fresh and 7 done)

PrunedKeptTotal
New89046936
Fresh113546
Picked415
Done066
Total90588993
Accuracy
100.0%
Counts
993 → 88
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.0%
(/.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
99.1%
(/.f64 (*.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)))) (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)))))
78.9%
(/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))))
60.4%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64)))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
59.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
66.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 a) (sin.f64 b)))))
63.0%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
54.6%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) b) b) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
54.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
53.9%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
54.4%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 b) (sin.f64 a)))))
58.4%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) #s(literal 1 binary64)) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
99.4%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (cos.f64 b)) (cos.f64 a) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))))
99.2%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (/.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))))
99.2%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))))
96.4%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (+.f64 (cosh.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
99.2%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
17.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64)))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
88.9%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) #s(literal 3/2 binary64))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
48.1%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (exp.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
99.3%
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 #s(approx (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
41.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
41.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))))
21.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
20.8%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
79.0%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
55.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
59.8%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))))
57.1%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (cos.f64 a)))
54.3%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 #s(approx (* (* (cos a) -1/2) b) (*.f64 #s(literal -1/2 binary64) b)) (sin.f64 a)) b (cos.f64 a))))
62.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
40.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (sin (+ (/ (PI) 2) b)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))))
37.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
37.3%
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
37.5%
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
37.4%
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
53.7%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
54.2%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
53.7%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
53.6%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
53.4%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 (+.f64 b a))))
53.5%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 a)))
17.7%
(/.f64 #s(approx (* r (sin b)) (*.f64 #s(approx (* (+ (* (* b b) -1/6) 1) r) (*.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64))) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
54.2%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
41.9%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (-.f64 (cos.f64 (-.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
40.6%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
42.1%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a))) (sin.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a)))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
40.8%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b a))) (sin.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b a)))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
42.1%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
58.3%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) (cos.f64 (-.f64 b a)))
99.3%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))) (cos.f64 (-.f64 b a)))
99.4%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) (cos.f64 (-.f64 b a)))
41.0%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
41.9%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b)))
57.0%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) #s(approx (cos (- b a)) (cos.f64 a)))
57.1%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 #s(approx (cos (- b a)) (cos.f64 a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
59.3%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) #s(approx (* (cos (- b a)) (cos (+ a b))) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) (cos.f64 (-.f64 b a)))
78.7%
(*.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (+.f64 (cos.f64 (-.f64 (-.f64 (-.f64 b a) b) a)) (cos.f64 (-.f64 b (-.f64 a (+.f64 b a)))))) #s(literal 2 binary64))
42.4%
(*.f64 (/.f64 (sin.f64 b) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))) r)
62.2%
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
78.9%
(*.f64 (*.f64 (cos.f64 (-.f64 a b)) (sin.f64 b)) (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
78.9%
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))))) (cos.f64 (-.f64 b a)))
78.9%
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))))
62.1%
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
63.5%
(*.f64 #s(approx (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) (cos.f64 (-.f64 b a)))
54.1%
(*.f64 #s(approx (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (*.f64 b (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))))) (cos.f64 (-.f64 b a)))
99.2%
#s(approx (/ (* r (sin b)) (/ (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))))) (/.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (fma.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 b)) (cos.f64 a)))) (sin.f64 b)) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))))
59.5%
#s(approx (/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (cos.f64 b))) (cos.f64 b)))
37.7%
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 r b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
37.4%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
37.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (sin (+ (neg a) (/ (PI) 2))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b))
36.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
36.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
36.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
28.2%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
29.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
11.6%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) #s(approx (+ (* (* (* a a) r) 1/2) r) (*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64)))) b))
53.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
37.3%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
Compiler

Compiled 6 744 to 2 444 computations (63.8% saved)

regimes174.0ms (2.1%)

Memory
14.4MiB live, 160.5MiB allocated; 10ms collecting garbage
Counts
127 → 1
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) #s(approx (+ (* (* (* a a) r) 1/2) r) (*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (sin (+ (neg a) (/ (PI) 2))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 r b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 #s(approx (* (+ (* (* b b) -1/6) 1) r) (*.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64))) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (cos.f64 a)))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (sin (+ (/ (PI) 2) b)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (PI.f64))))
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b))) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))) r)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) b) b) #s(literal 1/6 binary64)) b))) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 (sin.f64 b)) a (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(*.f64 #s(approx (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (*.f64 b (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 #s(approx (* (* (cos a) -1/2) b) (*.f64 #s(literal -1/2 binary64) b)) (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 b) (sin.f64 a)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
(*.f64 #s(approx (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) #s(approx (* (cos (- b a)) (cos (+ a b))) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) #s(literal 1 binary64)) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 a) (sin.f64 b)))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 b) (sin.f64 a)))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 #s(approx (cos (- b a)) (cos.f64 a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) #s(approx (cos (- b a)) (cos.f64 a)))
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))))
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 b)) a) (sin.f64 b)) a (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (*.f64 (cos.f64 (-.f64 a b)) (sin.f64 b)) (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(/.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (+.f64 (cos.f64 (-.f64 (-.f64 (-.f64 b a) b) a)) (cos.f64 (-.f64 b (-.f64 a (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) b) b) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b a))) (sin.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b a)))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a))) (sin.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a)))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (-.f64 (cos.f64 (-.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) a) (/.f64 r (cos.f64 b)) (*.f64 (sin.f64 b) r)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b)))) (/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (cos.f64 b))) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (cos.f64 b))) (cos.f64 b)))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64)))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (-.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) (cos.f64 (+.f64 a b))))) #s(literal 4 binary64)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (/.f64 (fma.f64 (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64)) #s(literal 1 binary64))) (+.f64 (pow.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) #s(literal 2 binary64)) (*.f64 (neg.f64 (*.f64 (sin.f64 a) #s(literal 0 binary64))) (*.f64 #s(literal 1 binary64) (cos.f64 a))))))) b))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (fma.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))) (cos.f64 (-.f64 b a)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (/.f64 r (cos.f64 b)) (sin.f64 b) (*.f64 (fma.f64 (/.f64 r (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (*.f64 (neg.f64 a) (*.f64 r (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal -1/2 binary64) (pow.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 b))) #s(literal 3 binary64)))))) a)))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (pow.f64 (sin.f64 (-.f64 (neg.f64 b) a)) #s(literal 3 binary64)) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 (-.f64 (neg.f64 b) a)) #s(literal 3 binary64)) #s(literal 1 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (-.f64 (neg.f64 b) a))) (*.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 b) a))))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (pow.f64 (sin.f64 (+.f64 a b)) #s(literal 3 binary64)) #s(literal 0 binary64) (*.f64 (pow.f64 (cos.f64 (+.f64 a b)) #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (-.f64 (*.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))) (*.f64 (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 #s(approx (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (neg.f64 (sin.f64 a)))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) (cos.f64 b) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (pow.f64 (cos.f64 b) #s(literal 3 binary64)) (pow.f64 (cos.f64 a) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) (neg.f64 (pow.f64 (sin.f64 a) #s(literal 3 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (exp.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
#s(approx (/ (* r (sin b)) (/ (+ (pow (* (neg (sin a)) (sin b)) 3) (pow (* (cos a) (cos b)) 3)) (+ (pow (* (cos a) (cos b)) 2) (- (pow (* (sin a) (sin b)) 2) (* (* (* (neg (sin a)) (sin b)) (cos a)) (cos b)))))) (/.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (fma.f64 (pow.f64 (cos.f64 b) #s(literal 2 binary64)) (pow.f64 (cos.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 b)) (cos.f64 a)))) (sin.f64 b)) r) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 3 binary64)))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) #s(literal 3/2 binary64))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (fma.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (cos.f64 b)) (cos.f64 a) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))) #s(literal 3 binary64)))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (+.f64 (+.f64 (cosh.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)))) (sinh.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))))) (-.f64 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (cos.f64 a)) (cos.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64))) (/.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)))) (pow.f64 (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))) #s(literal 2 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (*.f64 (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))))))
(/.f64 (*.f64 (*.f64 r (sin.f64 b)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 6 binary64)) (pow.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) #s(literal 3 binary64)))) (*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) #s(literal 3 binary64))) (fma.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 2 binary64))) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(literal 4 binary64)))))
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
Calls

4 calls:

49.0ms
r
45.0ms
a
44.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
29.0ms
b
Results
AccuracySegmentsBranch
99.5%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
99.5%1r
99.5%1a
99.5%1b
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes131.0ms (1.6%)

Memory
25.7MiB live, 72.8MiB allocated; 1ms collecting garbage
Counts
92 → 1
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) #s(approx (+ (* (* (* a a) r) 1/2) r) (*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (sin (+ (neg a) (/ (PI) 2))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 r b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 #s(approx (* (+ (* (* b b) -1/6) 1) r) (*.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64))) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (cos.f64 a)))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (sin (+ (/ (PI) 2) b)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 (+.f64 (PI.f64) (+.f64 a b)) (PI.f64))))
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b))) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b))))) r)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) b) b) #s(literal 1/6 binary64)) b))) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 (sin.f64 b)) a (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(*.f64 #s(approx (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (*.f64 b (/.f64 r (pow.f64 (cos.f64 a) #s(literal 2 binary64))))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 #s(approx (* (* (cos a) -1/2) b) (*.f64 #s(literal -1/2 binary64) b)) (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 b) (sin.f64 a)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
(*.f64 #s(approx (/ (* (sin b) r) (* (cos (- b a)) (cos (+ a b)))) (/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) #s(approx (* (cos (- b a)) (cos (+ a b))) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) #s(literal 1 binary64)) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 a) (sin.f64 b)))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (neg.f64 b) (sin.f64 a)))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 #s(approx (cos (- b a)) (cos.f64 a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) #s(approx (cos (- b a)) (cos.f64 a)))
(*.f64 (*.f64 r (sin.f64 b)) (/.f64 (cos.f64 (-.f64 a b)) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b)))))
(*.f64 (*.f64 r (/.f64 (sin.f64 b) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 b)) a) (sin.f64 b)) a (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
(/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 a b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (*.f64 (cos.f64 (-.f64 a b)) (sin.f64 b)) (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) (cos.f64 (-.f64 a b))))
(/.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (cos.f64 (-.f64 a b))) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) b)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (cos.f64 (-.f64 a b)) (*.f64 r (sin.f64 b))) (+.f64 (cos.f64 (-.f64 (-.f64 (-.f64 b a) b) a)) (cos.f64 (-.f64 b (-.f64 a (+.f64 b a)))))) #s(literal 2 binary64))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) (sin.f64 (-.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 #s(approx (cos b) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) b) b) #s(literal 1/2 binary64)) (*.f64 b b) #s(literal 1 binary64))) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b a))) (sin.f64 (+.f64 (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)) (-.f64 b a)))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a))) (sin.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b a)))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (+.f64 (-.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (/.f64 (-.f64 (cos.f64 (-.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a)))) (cos.f64 (+.f64 (-.f64 b (-.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))) (+.f64 b (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))))) #s(literal 2 binary64))) (cos.f64 (-.f64 b a)))
Outputs
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
Calls

4 calls:

62.0ms
a
22.0ms
r
22.0ms
b
21.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Results
AccuracySegmentsBranch
79.0%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
79.0%1r
79.0%1a
79.0%1b
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes60.0ms (0.7%)

Memory
-6.3MiB live, 39.3MiB allocated; 3ms collecting garbage
Counts
35 → 3
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) #s(approx (+ (* (* (* a a) r) 1/2) r) (*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (sin (+ (neg a) (/ (PI) 2))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 r b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 #s(approx (* (+ (* (* b b) -1/6) 1) r) (*.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64))) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (cos.f64 a)))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
Outputs
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
Calls

4 calls:

9.0ms
a
9.0ms
r
9.0ms
b
9.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Results
AccuracySegmentsBranch
66.2%3r
78.1%3a
65.4%3(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
79.0%3b
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes9.0ms (0.1%)

Memory
7.5MiB live, 7.5MiB allocated; 0ms collecting garbage
Counts
29 → 3
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) #s(approx (+ (* (* (* a a) r) 1/2) r) (*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (sin (+ (neg a) (/ (PI) 2))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 r b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 #s(approx (* (+ (* (* b b) -1/6) 1) r) (*.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64))) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
Outputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
Calls

1 calls:

7.0ms
b
Results
AccuracySegmentsBranch
79.0%3b
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes44.0ms (0.5%)

Memory
-23.2MiB live, 23.6MiB allocated; 2ms collecting garbage
Counts
27 → 1
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) #s(approx (+ (* (* (* a a) r) 1/2) r) (*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (sin (+ (neg a) (/ (PI) 2))) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) b))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 b r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))))
#s(approx (/ (* r (sin b)) (sin (+ (- (neg b) a) (/ (PI) 2)))) (/.f64 (*.f64 r b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) #s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 #s(approx (* (+ (* (* b b) -1/6) 1) r) (*.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64))) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) (*.f64 b b)) #s(literal 1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 a) b)))))
Outputs
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
Calls

4 calls:

21.0ms
b
7.0ms
r
7.0ms
a
7.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Results
AccuracySegmentsBranch
54.2%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
54.2%1r
54.2%1a
54.2%1b
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes14.0ms (0.2%)

Memory
12.6MiB live, 12.6MiB allocated; 0ms collecting garbage
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) #s(approx (+ (* (* (* a a) r) 1/2) r) (*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
Outputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
Calls

4 calls:

3.0ms
r
3.0ms
a
3.0ms
b
3.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Results
AccuracySegmentsBranch
53.9%1b
53.9%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
53.9%1a
53.9%1r
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes10.0ms (0.1%)

Memory
10.5MiB live, 10.5MiB allocated; 0ms collecting garbage
Accuracy

Total -17.5b remaining (-43.6%)

Threshold costs -17.5b (-43.6%)

Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) #s(approx (+ (* (* (* a a) r) 1/2) r) (*.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (/ r (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 (neg.f64 a) a) r) #s(literal -5/24 binary64) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) a) a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))) b))
Outputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
Calls

4 calls:

2.0ms
a
2.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
2.0ms
r
2.0ms
b
Results
AccuracySegmentsBranch
37.3%1a
37.3%1b
37.3%1r
37.3%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Compiler

Compiled 12 to 17 computations (-41.7% saved)

bsearch48.0ms (0.6%)

Memory
-43.6MiB live, 8.3MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
0.195681580258211
20.294780893841583
29.0ms
-14.833382705955252
-13.606098100997215
Samples
32.0ms59×1valid
7.0ms85×0valid
Compiler

Compiled 345 to 266 computations (22.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 34.0ms
adjust: 24.0ms (69.7% of total)
ival-cos: 4.0ms (11.6% of total)
ival-sin: 3.0ms (8.7% of total)
ival-add: 1.0ms (2.9% of total)
ival-div: 1.0ms (2.9% of total)
ival-mult: 1.0ms (2.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

bsearch2.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
0.195681580258211
20.294780893841583
0.0ms
-14.833382705955252
-13.606098100997215
Compiler

Compiled 390 to 293 computations (24.9% saved)

simplify41.0ms (0.5%)

Memory
19.1MiB live, 19.1MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055171
184171
2115171
3145171
4160171
5206171
6561171
73733171
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(if (<=.f64 b #s(literal -3884354678607053/281474976710656 binary64)) (*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r) (if (<=.f64 b #s(literal 3602879701896397/18014398509481984 binary64)) (/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b))) (*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)))
(if (<=.f64 b #s(literal -3884354678607053/281474976710656 binary64)) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (if (<=.f64 b #s(literal 3602879701896397/18014398509481984 binary64)) (/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b))) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(if (<=.f64 b #s(literal -3884354678607053/281474976710656 binary64)) (*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r) (if (<=.f64 b #s(literal 3602879701896397/18014398509481984 binary64)) (/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b))) (*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)))
(if (or (<=.f64 b #s(literal -3884354678607053/281474976710656 binary64)) (not (<=.f64 b #s(literal 3602879701896397/18014398509481984 binary64)))) (*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r) (/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b))))
(if (<=.f64 b #s(literal -3884354678607053/281474976710656 binary64)) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (if (<=.f64 b #s(literal 3602879701896397/18014398509481984 binary64)) (/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b))) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))))
(if (or (<=.f64 b #s(literal -3884354678607053/281474976710656 binary64)) (not (<=.f64 b #s(literal 3602879701896397/18014398509481984 binary64)))) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) r) (*.f64 b b) r) b)) (cos.f64 (+.f64 a b))))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))

derivations758.0ms (9%)

Memory
14.2MiB live, 630.3MiB allocated; 60ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0167593
1569562
22016518
37405515
09145482
0819
01319
14619
226619
3285319
0828619
04692037
116501928
265681908
080141800
037166
063144
1231144
21715144
09754144
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 171 to 55 computations (67.8% saved)

preprocess48.0ms (0.6%)

Memory
-20.1MiB live, 123.8MiB allocated; 12ms collecting garbage
Remove

(negabs r)

Compiler

Compiled 392 to 150 computations (61.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...